「word vba カーソル 行番号」
「word vba カーソル位置の取得」
「word マクロ カーソル位置取得」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが時折あることに気づきました。
カーソルのある行番号や、カーソルの位置を取得するWord VBA(Visual Basic for Applications)のコード・マクロを探している方による検索です。
カーソル位置の情報を取得するサンプルマクロ
カーソルの位置を取得して、どうしたいのかまではわかりませんので、ここでは参考になりそうなシンプルなマクロをご紹介しておきます。
ActiveWindow.View.Type = wdPrintView
Dim msg As String
With Selection
msg = msg & "行:"
msg = msg & .Information(wdFirstCharacterLineNumber) & vbCrLf
msg = msg & "列:"
msg = msg & .Information(wdFirstCharacterColumnNumber)
End With
MsgBox msg
End Sub上記のマクロを実行すると、表示が[印刷レイアウト]モードになり、カーソルのある行番号と列番号(行の中で何文字目か)がメッセージボックスに表示されます。
サンプルマクロの解説
SelectionオブジェクトのInformationプロパティを使うとさまざまな情報を取得できます。
ですが、カーソル位置の情報については表示モードが[印刷レイアウト]でないと、正しい情報を取得できないため、まず、表示モードを変更しています。
ActiveWindow.View.Type = wdPrintView
その後、Selection.Informationプロパティの引数にwdFirstCharacterLineNumberを指定して行番号を、
msg = msg & .Information(wdFirstCharacterLineNumber) & vbCrLf
wdFirstCharacterColumnNumberを指定して列番号を取得して、
msg = msg & .Information(wdFirstCharacterColumnNumber)
メッセージボックスに表示しています。
MsgBox msg
Home » ワードマクロ・Word VBAの使い方 » Selection » Word VBAでカーソル位置を取得する