【WordVBATips】ーカーソルを移動するー

wakaru-program VBA

今回の記事では、WordVBAで「文字列を検索&置換する」基本的な方法についてご紹介します!

スポンサーリンク

カーソル移動について

まず最初に、WordVBAで覚えておくべき処理の1つである、カーソル移動。
これはカーソル移動をVBAでカスタマイズして、ショートカットキーとして登録すれば、自分の思いのままにカーソル操作ができるようになるよ、というものです。

ではそれはどういうことなのか?を今から説明していきます。
(サンプルファイルは下の方にあります)

実際にコードを入れてみよう

今回のサンプルファイルには、下記のダミーテキストが入っています。このダミーテキストの中で、WordVBAの「Moveメソッド」を使って、自由にカーソルを移動してみましょう。この「Moveメソッド」を使うことで、文字・単語・段落といった様々な単位でカーソルを移動させることが可能となります。

sample

それでは、ここからは、実際のコードと内容を解説します。まずは、こちらが実際のコードとなります。カーソルの3つの異なる移動方法を、3つの関数で記述しています。

■文字数毎に移動

'文字ごとに移動
Sub Move_1()
    Selection.Move unit:=wdCharacter, Count:=3
end sub
詳細解説

まず初めに、「Selection.Move」は文字数毎に移動するメソッドです。
そして、「Selection.Move」でカーソルが移動する指示を出します。
その後の「unit」で移動する単位(例:文字数毎、行毎etc…)「count」で移動する数(例;3文字毎、5行毎etc…)を指定します。
ここでは、「unit」にwdCharacterで「文字」を指定し、「Count」に 3 で、3文字毎と指定します。

今回の場合は3を指定しているので、3つずつカーソルが飛ぶ

■文書数毎に移動

'文書毎に移動
Sub Move_2()
    Selection.Move unit:=wdSentence, Count:=1
End Sub
詳細解説

次に、文書毎に移動する関数になります。「unit」にwdSentenceで「文字」を指定し、「Count」に 1で、1文書毎と指定します。

今回はCount=1を指定しているので、1文ごとにカーソルが飛ぶ

■行数毎に移動

'行数毎に移動
Sub Move_3()
    Selection.Move unit:=wdLine, Count:=3
    Stop
    Selection.Move unit:=wdLine, Count:=-2
End Sub
【詳細解説】

最後に、行毎に移動する関数になります。「unit」にwdLineで「行」を指定し、「Count」に3で、3行毎と指定します。
「Count」は「+/-」どちらの値も指定することができ、「-」の値を入れると、戻る移動となります。今回は、「Selection.Move unit:=wdLine, Count:=3」で3行進んで、「Selection.Move unit:=wdLine, Count:=-2」で2行戻るという動作となります

いかがでしたでしょうか?今回は、WordVBAで覚えておくべき「カーソルの移動」方法についてご紹介しました。
カーソル移動を応用することで、Wordの標準機能にない、自分の好きなカーソル移動のショートカットキーを作成することも可能となります。
Wordがますます便利に使いこなせるようになると思いますので、皆様も是非試してみてくださいね!

参考サイト

この執筆にあたってはこちらのページを参考にさせていただきました。
WdUnits 列挙 (Word) | Microsoft Docs

サンプルコード格納場所

サンプルコードはこちらに格納しています。→こちら

タイトルとURLをコピーしました