复制和粘贴对于复制笔记来说太慢了

时间:2017-02-27 18:17:47

标签: vba ms-word word-vba

我想要一个可以将powerpoint笔记复制到文本文件的宏,我在网上发现了这个macro。但是我发现显然没有保留我需要的格式,所以我写了这个宏。

Sub TestNotes()
    Dim objWord
    Dim objDoc

    Dim objSelection

    Dim oSlides As Slides
    Dim oSl As Slide
    Dim oSh As Shape

    Set objWord = CreateObject("Word.Application")

    Set objDoc = objWord.Documents.Add

    objWord.Visible = True

    Set objSelection = objWord.Selection

    Set oSlides = ActivePresentation.Slides
    For Each oSl In oSlides
        For Each oSh In oSl.NotesPage.Shapes
        If oSh.PlaceholderFormat.Type = ppPlaceholderBody Then
            If oSh.HasTextFrame Then
                If oSh.TextFrame.HasText Then
                    oSh.TextFrame.TextRange.Copy
                    objSelection.TypeText ("Slide: " & CStr(oSl.SlideIndex) & vbCrLf)
                    objSelection.Range.Paste
                    objSelection.TypeText (vbCrLf)
                End If
            End If
        End If
        Next oSh
    Next oSl

End Sub

问题是当你运行它时,复制和粘贴动作太慢而且所有幻灯片注释都混淆了。我尝试使用DoEvents,但事实证明这是无效的。有没有办法用宏实现我想要的东西?换句话说,我该如何解决我的问题?

1 个答案:

答案 0 :(得分:2)

因为您正在使用objSelection.Range.Paste,所以您的文字变得混乱了。只需用

替换它

objSelection.Paste

这应解决您的问题,文字搞砸了。