使用VBA从PowerPoint演示文稿中提取注释

bal*_*hmi 5 powerpoint powerpoint-vba

我有一个包含大约50张幻灯片的PowerPoint.每张幻灯片可能有一个或多个由reviwer提供的注释(使用insert-> comment菜单完成).

我试图使用此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
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我需要提供注释上下文以及写入文本文件(幻灯片中的哪一行被选中并评论)

问题:我可以使用任何属性来获取此信息吗?

hol*_*hol 4

像这样:

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
Run Code Online (Sandbox Code Playgroud)

主要部分是关于循环遍历注释父级的所有形状。