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

対象:Word2007, Word2010, Word2013

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

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

[スポンサードリンク]

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

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


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

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

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

サンプルマクロの解説

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

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

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

「ワードvba スタイル取得」「word vba スタイル名取得」という検索をした方は、おそらく段落スタイル名・文字スタイル名を取得したかったのでしょうから、、

LineFormatオブジェクトのStyleプロパティが返すMsoLineStyle

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

ShadowFormatオブジェクトのStyleプロパティが返すMsoShadowStyle

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

以外の、いずれかのスタイルやスタイル名を取得したかったのではないかと推測しています。

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

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

NameLocalを省略した、
  MsgBox Selection.Style
というコードでも、スタイル名をメッセージボックスに表示させられますが、可読性を考えると上記のマクロのとおり、
  MsgBox Selection.Style.NameLocal
としておくほうがいいでしょう。

[スポンサードリンク]

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

TrackBack:0

TrackBack URL
[スポンサードリンク]

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

「ワードマクロ・Word VBAの使い方ワードマクロ・Word VBAの使い方」の記事一覧

検索


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

.