今メルマガを書いています。
項目の番号を入力するのが面倒だと思い、マクロを作ってみました。
けっこう便利なので記事にしました。
<目次>
このマクロでできること
カーソル位置の直前に半角括弧で囲んだ数字と半角スペース1つを入力します。
(実行前)
番号を指定します。今回の場合は、直前が「4」の次なので「5」と入力します。
(実行後)
マクロの解説
記事「【コード】条番号にジャンプする」のコードの前半部分にあるInpubBox関数を用いて番号を入力する箇所を借用しています。
番号を入力して、その番号をもとに挿入する文字列を作っています。
今回のマクロでは、全角で入力した場合でも半角数字にして挿入しています。この変換で、StrConv関数を用いています。(24行目)
カーソル位置(選択範囲)の直前に文字列を挿入したいので、InsertBeforeメソッドを使っています。(27行目)
文字を入力するだけだと、入力した文字が選択されたままの状態になります。
これを回避するために、28行目のように、Collapaseメソッドで選択範囲の末尾側に選択を解除しています。
マクロ
Sub 半角数字の番号入力() Dim myNumber As Variant '条番号の入力 Dim myMessage As String 'メッセージ Dim myTitle As String 'タイトル Dim myText As String '------------------------------------------- '番号の入力 '------------------------------------------- myMessage = "番号を入力して下さい。" & vbCr _ & "(半角・全角どちらでも可)" myTitle = "項目番号の入力" Do myNumber = InputBox(myMessage, myTitle) If myNumber = vbNullString Then End Loop While IsNumeric(myNumber) = False Or _ myNumber < 1 '------------------------------------------- 'カーソル位置の直前へ文字列の挿入 '------------------------------------------- myText = "[" & StrConv(myNumber, vbNarrow) & "] " With Selection .InsertBefore myText .Collapse wdCollapseEnd End With End Sub