0

Word 文書の行が Picture という単語で始まるかどうかを確認する必要があり、その場合は、その行のスタイルを組み込みのスタイルに変更します。リターン キーの後に始まる行は Word によって新しい段落として解釈され、この段落の終わりは別のリターン キーによって示されると思います。

1 つの文の段落があり、その段落が Picture という単語で始まる場合はスタイルを変更する必要があります。文書のすべての行を検索して、単語が Picture で始まっているかどうかを確認するにはどうすればよいですか?
--EDIT--
Picture という単語を Figure に変更しました
。Figure のすべてのインスタンスを検索してから、Figure を含む行を太字に変換しようとしています (太字のコードは、スタイルを変更するコードに置き換えられます)。今のところ、すべてのエラー チェックをスキップして、Figure のすべてのインスタンスを検索し、Figure という単語が存在するポイントから始めて、文の文字を太字に変換しようとしています。

Sub Macro1() 
' ' Macro1 Macro ' '  
     Selection.Find.ClearFormatting  
     Do  
     With Selection.Find  
         .Text = "figure"  
         .Forward = True  
         .Wrap = wdFindStop  
     End With  
     Selection.Find.Execute  
     Selection.EndKey Unit:=wdLine, Extend:=wdExtend  
     Selection.Font.Bold = wdToggle  
     Loop 
End Sub 

これはドキュメントのスクリーンショットです
ここに画像の説明を入力 。赤い丸で示した行の最初の Figure を検出するだけです。
コードが挿入ポイントの現在の位置から Figure の最初のインスタンスを何度も検出し続けることがわかりました。
Figure の 1 つを検出した後、次の Figure のインスタンスを検索するにはどうすればよいですか?
wdFindStop を wdFindContinue に変更しても機能しません。どちらも同じ結果になります。

4

3 に答える 3

0
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting

With Selection.Find
    .Text = "Picture"
    .Replacement.Text = "Figure"
    .Forward = True
    .Wrap = wdFindContinue
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.Find.Execute Replace:=wdReplaceAll
于 2014-01-17T01:02:34.937 に答える
0

最初から最後まで検索するコードを修正しました。また、文全体を選択して太字にする方法も変更します。

Sub Macro1()

     Selection.Find.ClearFormatting

     With Selection.Find
         .Text = "figure"
         .Forward = True
         .Wrap = wdFindStop
     End With

'changed the loop
     Do While Selection.Find.Execute
'changed the way we select sentence
        Selection.Expand wdSentence
        Selection.Font.Bold = True
        Selection.Collapse wdCollapseEnd
     Loop
End Sub
于 2013-05-20T20:57:07.427 に答える