TeX的な脚注記号を Word で脚注にするマクロ

Word 2003 で記録したマクロそのまま。なくすと面倒なのでここに保存。
以下のような使い方を想定。
エディタなどで下書きした文章を、ワードに貼り付けて、脚注とかをワードの書式で整理する。

原稿はこんな感じで作っておく。

あなたと私、いつも一緒にいるのよね。でもそうかしら?本当にいつも一緒にいると思うの?そうよ、本当にいるのよ。そんなことがあると思っているわけですか
\footnote{
頭がとことんまで疲労するとだんだん人格が壊れてくるな。
}
。そろそろ現実を見てくださいな。こわいなあ。

原稿作成時には、秀丸マクロで \footnote{とかの挿入とかを済ませてる。単純な話だけど。
で、この原稿に対して、以下の手順で処理を行う。

  1. カーソルは文書の冒頭にある位置からスタート。
  2. Ctrl+F(検索モード)→ \foot を検索させる。
  3. カーソルを2文字戻らせる。上の原稿で言うと、「ですか」と改行マークの間にカーソルが来る。
  4. F8キーを押す→拡張選択モード
  5. Ctrl+F → } を検索させる。脚注部分が選択される。
  6. Ctrl+X で脚注部分をカット。
  7. Alt+I→N→N で脚注挿入へ。条件を適当に入力+OK。このマクロではデフォルト。
  8. Ctrl+V で脚注部分をペースト。
  9. Ctrl+Home で文書の冒頭へ戻る。

以下のマクロは、それをただ記録しただけ。\footnote{}とか改行とかタブとかの削除はやっていない。まあ整形後に置換すればいいかなとか思ったので。
文書末に脚注を入れたいときは、マクロ後半の "With .EndnoteOptions" 以下の
".Location = wdBottomOfPage" を、
".Location = wdEndOfDocument"
に変更すること。面倒なので、二つとも残しておく。

Sub Macro2()
'
' TeX式脚注部分をページ下脚注に変換する。
' 文頭にカーソルを置いた状態で実行。
' \footnote命令は以下のように記載しておくこと。
' ……である
' \footnote{
'   (タブ)脚注本文(文末改行)
' }
' 。それゆえ、……

'
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "\foot"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = False
        .MatchFuzzy = True
    End With
    Selection.Find.Execute
    Selection.MoveLeft Unit:=wdCharacter, Count:=2
    Selection.Extend
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "}"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = False
        .MatchFuzzy = True
    End With
    Selection.Find.Execute
    Selection.Cut
    With ActiveDocument.Range(Start:=ActiveDocument.Content.Start, End:= _
        ActiveDocument.Content.End)
        With .FootnoteOptions
            .Location = wdBottomOfPage
            .NumberingRule = wdRestartContinuous
            .StartingNumber = 1
            .NumberStyle = wdNoteNumberStyleArabic
        End With
        .Footnotes.Add Range:=Selection.Range, Reference:=""
    End With
    Selection.PasteAndFormat (wdPasteDefault)
    Selection.HomeKey Unit:=wdStory
End Sub
Sub Macro3()
'
' TeX式脚注部分を文書末の脚注に変換する。
' 脚注番号はアラビア数字。
' 文頭にカーソルを置いた状態で実行。
' \footnote命令は以下のように記載しておくこと。
' ……である
' \footnote{
'   (タブ)脚注本文(文末改行)
' }
' 。それゆえ、……


    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "\foot"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = False
        .MatchFuzzy = True
    End With
    Selection.Find.Execute
    Selection.MoveLeft Unit:=wdCharacter, Count:=2
    Selection.Extend
    Selection.Extend
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "}"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = False
        .MatchFuzzy = True
    End With
    Selection.Find.Execute
    Selection.Cut
    With ActiveDocument.Range(Start:=ActiveDocument.Content.Start, End:= _
        ActiveDocument.Content.End)
        With .EndnoteOptions
            .Location = wdEndOfDocument
            .NumberingRule = wdRestartContinuous
            .StartingNumber = 1
            .NumberStyle = wdNoteNumberStyleArabic
        End With
        .Endnotes.Add Range:=Selection.Range, Reference:=""
    End With
    Selection.PasteAndFormat (wdPasteDefault)
    Selection.HomeKey Unit:=wdStory
End Sub