从VBA中的powerpoint文件中提取所有文本

elb*_*laf 5 powerpoint vba text strip powerpoint-vba

我有一大堆powerpoint文件,我想从中提取所有文本,然后将它们全部集成到一个大文本文件中.每个源(PPT)文件都有多个页面(幻灯片).我不关心格式化 - 只关心单词.

我可以通过PPT中的^ A ^ C手动执行此操作,然后在记事本中使用^ V; 然后在PPT中向下翻页,并对powerpoint中的每张幻灯片重复.(太糟糕了,我不能只做一个会抓住一切的^ A然后我可以使用sendkey来复制/粘贴)

但是有数百个PPT具有不同数量的幻灯片.

看起来这似乎是一件普通的事情,但我无法在任何地方找到一个例子.

有没有人有示例代码来执行此操作?

Tod*_*ain 5

这里有一些代码可以帮助您入门。这会将幻灯片中的所有文本转储到调试窗口。除了转储之外,它不会尝试格式化、分组或执行任何其他操作。

Sub GetAllText()
Dim p As Presentation: Set p = ActivePresentation
Dim s As Slide
Dim sh As Shape
For Each s In p.Slides
    For Each sh In s.Shapes
        If sh.HasTextFrame Then
            If sh.TextFrame.HasText Then
                Debug.Print sh.TextFrame.TextRange.Text
            End If
        End If
    Next
Next
End Sub
Run Code Online (Sandbox Code Playgroud)