Wordマクロ(VBA)でよく使われるオブジェクトとは
Wordマクロ(VBA)の開発では、操作対象となる文書や文字などを「オブジェクト」として指定して処理を行います。この記事では、Word VBAで頻繁に使用するメジャーなオブジェクト名とプロパティ、それぞれの概要を一覧形式でまとめます。
メジャーなオブジェクト・プロパティ一覧
Word VBAの基本操作でよく使われる代表的なオブジェクトや設定要素です。
- Selection(セレクション):挿入ポイント(カーソル)や、ユーザーが選択している文字列領域を表します。
- Document(ドキュメント):文書ファイル(または文全体)を表します。
- Sentence(センテンス):句点(。)までの文単位を表します。
- Paragraph(パラグラフ):改行記号までの段落単位を表します。
- Word(ワード):文中の単語単位を表します。
- Font(フォント):文字サイズ、フォント指定などの文字装飾を表します。
- Range(レンジ):文書内の文字列範囲を表します。
- PhoneticGuide(フォネティックガイド):ルビ(ふりがな)を表します。
- Alignment(アライメント):段落の配置設定(左寄せ、中央寄せなど)を表します。
- LineSpacing / LineSpacingRule:行間隔の設定およびルールを表します。
- LeftIndent / FirstLineIndent / RightIndent:段落の左インデント、1行目インデント、右インデントを表します。
- Style(スタイル):適用するスタイルを表します。
- Shapes(シェイプス):図形や描画オブジェクトを表します。
- PageSetup(ページ設定):1ページの行数や1行の文字数などのレイアウト設定を表します。
- Section(セクション):段組みなどのレイアウト単位を表します。
- HeadersFooters(ヘッダー・フッター):セクションから取得するヘッダーおよびフッターを表します。
- Table(テーブル):文書内の表を表します。
- Footnotes / EndNotes:脚注および文末脚注を表します。
- TableOfContents:目次を表します。
最小の実行例:選択中の文字列を取得する
現在カーソルで選択している、または選択範囲にあるテキストをメッセージボックスに表示する最小限のコード例です。
Sub ShowSelectedText()
' 選択されている文字列が存在するか確認
If Selection.Type = wdSelectionNormal Then
MsgBox "選択されているテキスト: " & Selection.Text
Else
MsgBox "テキストが選択されていません。"
End If
End Sub
実行手順
- Wordを開き、[Alt] + [F11] キーを押してVBAエディタ(VBE)を起動します。
- メニューの [挿入] > [標準モジュール] をクリックします。
- 開いたコードウィンドウに上記のコードを貼り付けます。
- 適当な文字列をWord上で選択した状態で、[F5] キーを押すか実行ボタンを押してマクロを実行します。
トラブルシューティングと注意点
- SelectionとRangeの使い分け:
Selectionは画面上のカーソル位置に依存するため処理が遅くなりがちです。大量の文字列を効率よく処理する場合は、画面表示を変更しないRangeオブジェクトの利用を推奨します。 - オブジェクトの参照漏れ:親オブジェクト(例:
ActiveDocumentやDocument)の指定を省略すると、意図しないアクティブ文書に対してマクロが動作することがあるため注意してください。
関連情報
Microsoft公式のドキュメントもあわせて参照してください。
Word VBA リファレンス (Microsoft Learn)
この記事の更新履歴
この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。
2026年10月8日
- 変更記事全体の構成を見直し、WordPress/Cocoonで読みやすい見出しとコードブロックを用いた形式に変更しました。
- 追加Word VBAでオブジェクト操作を行うための具体的なサンプルコードと実行手順を追加しました。
