2016-06-28 12 views
0

コピーしたテキストを.Replacement.Textに貼り付けます。私は選択ペーストでこれを試しましたが、これはうまくいきません。テキストをコピーして検索と置換に使用するMicrosoft Wordマクロ

明確にする:私はMicrosoft Word文書にテキストをコピーしようとしていると私は、コピーしたテキストを乗算fieldcodesにALT +F9を変更したいです。したがって、私のWord文書はすべてのフィールドコードを一度に変更します。

Selection.MoveRight Unit:=wdCharacter, Count:=5, Extend:=wdExtend 
    Selection.Copy 
    ActiveWindow.View.ShowFieldCodes = Not ActiveWindow.View.ShowFieldCodes 
    Selection.WholeStory 
    Selection.Find.ClearFormatting 
    Selection.Find.Replacement.ClearFormatting 
    With Selection.Find 
     .Text = "00000" 
     .Replacement.Text ="Selection.Paste" 
     .Forward = True 
     .Wrap = wdFindAsk 
     .Format = False 
     .MatchCase = False 
     .MatchWholeWord = False 
     .MatchWildcards = False 
     .MatchSoundsLike = False 
     .MatchAllWordForms = False 
    End With 
    Selection.Find.Execute Replace:=wdReplaceAll 
    ActiveWindow.View.ShowFieldCodes = Not ActiveWindow.View.ShowFieldCodes 
    Selection.WholeStory 
    Selection.Fields.Update 
End Sub 
+0

VBAで利用できる直接クリップボードのサポートはありませんを使用する必要はありません。ただし、Windows API機能を使用してクリップボードを使用することもできます(単純なGoogle検索で、コードサンプルの検索方法がわかります)。しかし、そのオプションに投資する前に:現在選択されているテキストをあなたのための適切なオプションとして作業していますか?現在の選択にアクセスする方がはるかに簡単です( '.Replacement.Text = Selection.Text'だけを使用してください) –

答えて

0

Selection.WholeStory

Selection.MoveRight Unit:=wdCharacter, Count:=5, Extend:=wdExtend 
     Selection.Copy 
     ActiveWindow.View.ShowFieldCodes = Not ActiveWindow.View.ShowFieldCodes 
'  Selection.WholeStory 
    searchText=selection.text 
     Selection.Find.ClearFormatting 
     Selection.Find.Replacement.ClearFormatting 
     With Selection.Find 
      .Text = "00000" 
      .Replacement.Text =searchText 
      .Forward = True 
      .Wrap = wdFindAsk 
      .Format = False 
      .MatchCase = False 
      .MatchWholeWord = False 
      .MatchWildcards = False 
      .MatchSoundsLike = False 
      .MatchAllWordForms = False 
     End With 
     Selection.Find.Execute Replace:=wdReplaceAll 
     ActiveWindow.View.ShowFieldCodes = Not ActiveWindow.View.ShowFieldCodes 
     Selection.WholeStory 
     Selection.Fields.Update 
    End Sub 
関連する問題