▼このマクロでできること
カーソル位置から行の末尾までの文字列を選択します。
Wordのショートカットキーで実行できる機能ににています。
[Shift] + [End] 行の末尾まで選択
ただし、今回のマクロでは、選択した場合に、行末が改行記号などの場合には、それを除外します。
コピペをするときに、改行記号まで入ってしまっていらない改行まで貼付けられてやり直す経験ありませんか?
それを回避するために、行末にある改行記号を含まずに選択します。
例えば、こんな感じです。カーソルがThat の前にあります。
![みんなのワードマクロ](https://stat.ameba.jp/user_images/20120819/10/gidgeerock/0d/cc/p/t02200025_0529006012143172152.png?caw=800)
行末にある文章を別の部分に貼付ける場合などありますよね。
![ニコー](https://emoji.ameba.jp/img/user/05/0505-rok-1017/26924.gif)
普通、[Shift] + [End] を押して行末まで選択します。
すると、改行記号がある場合には、それも含んでしまいますよね。
![みんなのワードマクロ](https://stat.ameba.jp/user_images/20120819/10/gidgeerock/48/57/p/t02200030_0525007112143172153.png?caw=800)
![イケてる](https://emoji.ameba.jp/img/user/sa/santos100/170197.gif)
以下のように、行末の改行記号が選択されません。ほしい文字列だけが選択されているのです。
![みんなのワードマクロ](https://stat.ameba.jp/user_images/20120819/10/gidgeerock/41/e5/p/t02200029_0530006912143172151.png?caw=800)
私は、[Shift] + [End] に上書きで割り当てて使っています。
▼マクロの解説
行末にある改行記号以外に、タブや段区切り、ソフトリターン、改行・改ページも対象にしています。
実務上、このような記号が入ることありますからね。
Chr(9) タブ
Chr(10) 段区切り
Chr(11) ソフトリターン
Chr(12) 改行・改ページ
Chr(13) ハードリターン
選択範囲の末尾を移動させるには、MoveEndWhileメソッド を使います。
myExcludesに除外文字を入れていますので、最後の一文字がこれに該当する場合には、後ろ向き(文書の先頭に向かって)選択範囲が変化します。
▼マクロ
Sub 行の末尾まで選択()
Dim myExcludes As String
myExcludes = Chr(9) & Chr(10) & Chr(11) & Chr(12) & Chr(13)
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
Selection.MoveEndWhile Cset:=myExcludes, Count:=wdBackward
End Sub
▼関連記事
カーソル移動の極意
マクロコードの登録方法
ユーザー登録をしたキーボードのショートカットを書き出すマクロ
ユーザー登録をしたキーボードのショートカットを書き出すマクロ(その2)
「キーボードのユーザー設定」でキーボードにマクロを登録する方法
キーボードの割り付けをもっと簡単に!
インサートキーの無効化(キーボード割り付けの技)
インサートキーの無効化(キーボード割り付けの技)その2
「段落の移動」を無効化(キーボードの割り付け)