2017-02-27 5 views
0

パワーポイントのメモをテキストファイルにコピーできるマクロが必要で、これはオンラインで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を使ってみましたが、それは効果がないことが判明しました。マクロを使用したいものを達成する方法はありますか?言い換えれば、どうすれば問題を解決できますか?

答えて

2

objSelection.Range.Pasteを使用しているため、テキストが乱れてしまいます。ただ、これは台無しになったテキストを使用して問題を解決する必要があり

objSelection.Paste

でこれを交換してください。

+1

男、神話、伝説 – Dan

関連する問題