翻訳の最中に、特定の名称の冠詞はtheなのか、aなのか、迷ったことありませんか?
いや、複雑な定冠詞と不定冠詞の話をしているのではなくて、たた単純にこの名称が今までの文中に出てきたのかどうか、調べることなんですが。
このマクロでできること
選択した文字列が、選択したカーソルの位置よりも前に記載されているのかどうかを調べるマクロです。
マクロの解説
メッセージボックスで対話をしながら、出てくる文字列の位置を確認することができます。
「はい(Y)」をクリックすると、次の検索をします。
「いいえ(N)」をクリックすると、最初に選択した文字列の位置にカーソルが戻ります。
私は、[Alt] + [F] に登録して使っています。
マクロ
Sub 前の記載を調べるマクロ() Dim myRange As Range Dim Msg, Style, Title, Response As String Dim SS, SE As Long Dim FoundBln As Boolean SS = Selection.Start SE = Selection.End FoundBln = False '文字列が選択されていない場合には終了 If SS = SE Then End '表示される言葉の設定 Msg = "次を検索しますか?" Style = vbYesNo + vbQuestion + vbDefaultButton2 Title = "検索結果" Set myRange = ActiveDocument.Range(0, 0) With myRange.Find .Wrap = wdFindStop .Execute findtext:=Selection.Text Do While .Found = True If myRange.Start <> SS Then FoundBln = True myRange.Select Response = MsgBox(Msg, Style, Title) If Response = vbYes Then myRange.Collapse direction:=wdCollapseEnd .Execute Else Exit Do End If Else If FoundBln = False Then MsgBox "見つかりませんでした。" Selection.Collapse direction:=wdCollapseEnd End Else MsgBox "これ以上見つかりませんでした。" Exit Do End If End If Loop End With Set myRange = ActiveDocument.Range(SS, SS) With myRange.Find .Wrap = wdFindStop .Execute findtext:=Selection.Text End With myRange.Select Selection.Collapse direction:=wdCollapseEnd Set myRange = Nothing End Sub