2016-06-28 1 views
0

복사 한 텍스트를 .Replacement.Text에 붙여 넣으 려합니다. 선택 붙여 넣기로 시도했지만 작동하지 않습니다. 나는 Microsoft Word 문서에서 텍스트를 복사하기 위해 노력하고있어 나는 복사 된 텍스트가 다중 fieldcodes ALT + F9로 변경합니다 : 텍스트를 복사하여 찾기 및 바꾸기에 사용하기위한 Microsoft Word 매크로

은 명확합니다. 그래서 내 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