Home » ワードマクロ・Word VBAの使い方 » Selection » Word VBAでカーソル位置を取得する

Word VBAでカーソル位置を取得する

対象:Word2007, Word2010, Word2013

「word vba カーソル 行番号」
「word vba カーソル位置の取得」
「word マクロ カーソル位置取得」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが時折あることに気づきました。

カーソルのある行番号や、カーソルの位置を取得するWord VBA(Visual Basic for Applications)のコード・マクロを探している方による検索です。

[スポンサードリンク]

カーソル位置の情報を取得するサンプルマクロ

カーソルの位置を取得して、どうしたいのかまではわかりませんので、ここでは参考になりそうなシンプルなマクロをご紹介しておきます。

Sub カーソル位置情報を取得する()
 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でカーソル位置を取得する

「Selection」の記事一覧

検索


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

.