▼このマクロでできること
たとえば、以下のように文字列を選択している場合があります。
![みんなのワードマクロ](https://stat.ameba.jp/user_images/20130507/08/gidgeerock/ca/02/p/t02200042_0325006212529302985.png?caw=800)
「2台の車両100」に選択範囲を変えようと思います。
その場合、いったん選択を解除してからカーソルを移動させますよね。
左端の選択範囲を広げたいのですが、これはキーボード操作だけではできないからです。
[Ctrl] + [Shift] + [←] を押すと、以下のようになってしまいますよね。(このショートカットキーは便利です。ブログ記事「カーソル移動の極意 」をご覧ください)
![みんなのワードマクロ](https://stat.ameba.jp/user_images/20130507/08/gidgeerock/0c/63/p/t02200042_0325006212529303154.png?caw=800)
そうです。選択範囲の右端(末尾側)が左側に移動してしまうのです。
今回のマクロは、選択範囲の変更可能な位置(選択範囲の先頭、末尾)を交互に切り替えます。
デフォルトでは、ご存じのとおり、選択範囲の変更可能な位置は右端(末尾側)ですので、マクロの実行後は、選択範囲の変更可能な位置が左端(先頭側)になります。再度マクロを実行すると、元のデフォルトの設定に戻ります。
では、以下の状態で説明します。
![みんなのワードマクロ](https://stat.ameba.jp/user_images/20130507/08/gidgeerock/ca/02/p/t02200042_0325006212529302985.png?caw=800)
マクロ実行後に、[Ctrl] + [Shift] + [←] を押すと、以下のようになります。
![みんなのワードマクロ](https://stat.ameba.jp/user_images/20130507/08/gidgeerock/52/e6/p/t02200047_0325006912529302987.png?caw=800)
もう一度[Ctrl] + [Shift] + [←] を押すと、以下のようになります。
![みんなのワードマクロ](https://stat.ameba.jp/user_images/20130507/08/gidgeerock/4a/41/p/t02200041_0325006112529302986.png?caw=800)
マクロを再度実行すると、選択範囲の変更位置がデフォルト設定(選択範囲の末尾側)に戻ります。
選択を解除したり、文字入力をしたりと別の操作をしても、選択範囲の変更位置がデフォルト設定に戻ります。
▼マクロの解説
StartIsActive プロパティを使用します。
プロパティを「= Not」でつなぐ表現は、プロパティのオン・オフ(TrueとFalse)の切り替えとしてよくつかいますね。
▼マクロ
Sub 選択範囲の変更位置を切り替える()
Selection.StartIsActive = Not Selection.StartIsActive
End Sub
▼関連記事
カーソル移動の極意
一括置換による翻訳(上書き翻訳)の支援マクロ「ぱらぱら」
Wordの置換機能を徹底強化する「山猫の手」