2010-07-27 13 views
5

Tôi có PowerPoint chứa khoảng 50 trang trình bày. Mỗi trang chiếu có thể có 1 hoặc nhiều nhận xét được cung cấp bởi bộ chỉnh sửa (được thực hiện bằng cách sử dụng menu chèn-> nhận xét).Trích xuất nhận xét từ bản trình bày PowerPoint bằng VBA

tôi đang cố gắng để có được các ý kiến ​​programatically xuất khẩu vào một tập tin văn bản sử dụng mã này VBA:

Sub ConvertComments() 
    ''# Converts new-style comments to old 

     Dim oSl As Slide 
     Dim oSlides As Slides 
     Dim oCom As Comment 

     Set oSlides = ActivePresentation.Slides 
     For Each oSl In oSlides 
      For Each oCom In oSl.Comments 
       ''# write the text to file : (oCom.Text) 
       WriteToATextFile oCom.Author, <what needs to come here>, oCom.Text 
      Next oCom 
     Next oSl 
End Sub 

Trong đoạn mã trên, tôi cần phải tạo ra khung cảnh bình luận cũng như để được ghi vào một file văn bản (dòng nào trong trang trình bày đã được chọn và nhận xét)

Câu hỏi: Tôi có thể sử dụng bất kỳ thuộc tính nào để nhận thông tin này không?

+0

Ý của bạn là gì với "ngữ cảnh nhận xét"? Là vấn đề cũng làm thế nào để viết vào một textfile trong VBA hoặc là nó chỉ là về "bối cảnh bình luận". Tôi có thể cung cấp cho bạn với mã làm thế nào để viết một textfile nếu điều này giúp và có lẽ nếu bạn làm rõ "bối cảnh bình luận" thì điều này cũng sẽ được với nó. – hol

+0

i có nghĩa là bối cảnh bình luận như sau: giả sử có một dòng văn bản trong ppt trình chỉnh sửa chọn nó và nhấp vào Chèn-> trình đơn nhận xét Tôi cần có dòng được chọn và nhận xét là – balalakshmi

Trả lời

4

Như thế này:

Sub ConvertComments() 
''# Converts new-style comments to old 

    Dim oSl As Slide 
    Dim oSlides As Slides 
    Dim oCom As Comment 
    Dim oShape As Shape 


    Open "filename.txt" For Output As 1 
    Set oSlides = ActivePresentation.Slides 

    Dim myContext As String 
    For Each oSl In oSlides 
     For Each oCom In oSl.Comments 
      myContext = "" 
      For ShapeIndex = oCom.Parent.Shapes.Count To 1 Step -1 
       myContext = myContext & oCom.Parent.Shapes(ShapeIndex).AlternativeText & " " 
      Next 
      Write #1, oCom.Author & ";" & myContext & ";" & oCom.Text 
     Next oCom 
    Next oSl 
    Close 1 
End Sub 

Phần chính là về vòng lặp qua tất cả các hình dạng cha mẹ đến nhận xét.

+0

tuyệt vời đã làm việc! cảm ơn – balalakshmi

+0

Bất kỳ cách nào để có được số trang trình bày? – Alex

+0

@hol: Tôi đã thử các giải pháp này, tôi thấy rằng đoạn mã này không xác định được nhận xét trả lời trong cùng một trang trình bày? Bạn có thể vui lòng giúp tôi nhận được bình luận trả lời không? –