VBA(Microsoft Word)で脚注番号にアクセスする
Paulは、Word VBAを使用して、挿入ポイントが配置されている脚注の脚注番号を返そうとしています。彼の場合、脚注に複数の段落が含まれている可能性があります。 Paulは、VBAでこの脚注番号を決定する方法があるかどうか疑問に思います。
脚注オブジェクトのIndexプロパティを使用して、脚注番号を決定することができます。この情報がどのように役立つかを示す簡単な方法は次のとおりです。
Sub GetFootnoteNumber() Dim f As Footnote Dim sTemp As String sTemp = "The insertion point is not in a footnote" For Each f In ActiveDocument.Footnotes If Selection.InRange(f.Range) Then sTemp = "The insertion point is in footnote " & f.Index End If Next MsgBox sTemp End Sub
マクロは、ドキュメント内の各脚注をステップスルーすることに注意してください。選択(挿入ポイント)が特定の脚注にあると判断された場合、その脚注のIndexプロパティを使用して、sTemp変数にメッセージを配置します。脚注のループが完了すると、sTemp変数がメッセージボックスに表示されます。
ドキュメントに脚注がたくさんある場合は、それらすべてをループしたくない場合があります。その場合、選択範囲のInformationプロパティを使用して、挿入ポイントが現在脚注にあるかどうかを次のように判断できます。
Sub GetFootnoteNum() Dim J As Integer Dim sTemp As String sTemp = "The insertion point is not in a footnote" If Selection.Information(wdInFootnote) Then J = Selection.Paragraphs(1).Range.Footnotes(1).Index sTemp = "The insertion point is in footnote " & J End If MsgBox sTemp End Sub
さらに、アクセスする脚注のプロパティを展開することにより、特定の脚注に関するその他の情報を取得できます。次のマクロは、脚注番号だけでなく、番号付け規則、番号付けスタイル、および脚注の開始番号も返します。
Sub GetFootnoteInfo() Dim f As Footnote Dim sTemp As String sTemp = "The insertion point is not in a footnote" If Selection.Information(wdInFootnote) Then Set f = Selection.Paragraphs(1).Range.Footnotes(1) sTemp = "Footnote number: " & f.Index & vbCr With f.Range.FootnoteOptions sTemp = sTemp & "Numbering Rule: " & .NumberingRule & vbCr & _ "Numbering Style: " & .NumberStyle & vbCr & _ "Starting Number: " & .StartingNumber End With End If MsgBox sTemp End Sub
注:
このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ wordribbon-WordTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。
(Microsoft Wordは、世界で最も人気のある単語処理ソフトウェアです。)このヒント(5906)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice365のWordに適用されます。