Home » ワードマクロ・Word VBAの使い方 » スタイル » Word VBAでカーソル位置のスタイル名を取得

Word VBAでカーソル位置のスタイル名を取得

対象:Word2007, Word2010, Word2013

「ワードvba スタイル取得」
「word vba スタイル名取得」
といった検索で、このサイト『インストラクターのネタ帳』へのアクセスが、時折あることに気づきました。

Wordのスタイルやスタイル名を取得するVBAのコードを探していた方による検索です。

[スポンサードリンク]

カーソル位置のスタイル名を取得するサンプルマクロ

これらの検索キーワードだけでは具体的に何がしたかったのかがわかりませんので、参考になるかもしれないシンプルなマクロをご紹介しておきます。

Sub スタイル名を取得する()
 MsgBox Selection.Style.NameLocal
End Sub

上記のようなコードで、カーソルのある位置のスタイル名がメッセージボックスに表示されます。

標準スタイルにカーソルがあれば「標準」見出し1スタイルにカーソルがあれば「見出し1」とメッセージボックスに表示されます。

サンプルマクロの解説

オブジェクトブラウザーで、[完全に一致する単語だけを検索]する設定にして、Wordライブラリに限定して「style」を検索すると、以下のような結果となります。

カーソル位置のスタイル名を取得するWordマクロ

Styleオブジェクトが存在していること、複数のオブジェクトにStyleプロパティが存在していることがわかります。

上記のマクロでは、この中のSelectionオブジェクトに用意されているStyleプロパティを使用しています。

オブジェクトブラウザーで確認するとわかるとおり、NameLocalプロパティはStyleオブジェクトのデフォルトプロパティですから、

カーソル位置のスタイル名を取得するWordマクロ

NameLocalを省略した、

MsgBox Selection.Style

というコードでも、スタイル名をメッセージボックスに表示させられますが、可読性を考えると上記のマクロのとおり、

MsgBox Selection.Style.NameLocal

としておくほうがイイと私は感じます。

最終更新日時:2022-02-16 11:30

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » スタイル » Word VBAでカーソル位置のスタイル名を取得

Copyright © インストラクターのネタ帳 All Rights Reserved.

.