###word VBAで【】内の数字を+1する方法について。
お世話になっております。
題目通り、word VBAで【】内の数字を+1する方法について困っています。
私は以前、この掲示板である方から「カーソルより下に出てくる全ての数字に1を足す」コードについてアドバイスをいただきました。
それは上手く機能し、本当に感謝しかありません。
しかし、ついさっき、「カーソルより下に出てくる全ての数字に1を足す」のではなく、「カーソルより下に出てくる全ての[]内の数字に1を足す」動作をさせる必要が出てきました。
これはどうすれば実現できるのでしょうか?
検索するところまでは自力でできたのですが、+1するところでこけました。
以下に「カーソルより下に出てくる全ての数字に1を足す」コード、また、私が改良を試み、上手くいかなかった「カーソルより下に出てくる全ての[]内の数字に1を足す」コードを記したいと思います。
どうかご教授いただけると助かります・・・!
「カーソルより下に出てくる全ての数字に1を足す」
lang
1 2Sub PlusNumber() 3 Dim sel As Word.Selection 4 Set sel = Selection 5 6 '「カーソルより下を検索する部分」 7 Do 8 With sel.Find 9 .Text = "([0-9]{1,3})" 10 .MatchFuzzy = False 11 .MatchWildcards = True 12 13 '.Execute()がTrueなら該当文字列が見つかった 14 If Not .Execute() Then 15 'Falseなら見つからなかった 16 Exit Do 17 End If 18 End With 'sel.Find 19 20 21 '「数字に+1」 22 sel.Text = sel.Text + 1 23 24 sel.Collapse Direction:=wdCollapseEnd 25 Loop 26 27End Sub 28
「カーソルより下に出てくる全ての[]内の数字に1を足す」コード(上手くいかなかった・・・)
lang
1Sub PlusNumber kakko() 2 Dim sel As Word.Selection 3 Set sel = Selection 4 5 '「カーソルより下を検索する部分」 6 Do 7 With sel.Find 8 .Text = "[" & "([0-9]{1,3})" & "]" 9 .MatchFuzzy = False 10 .MatchWildcards = True 11 12 '.Execute()がTrueなら該当文字列が見つかった 13 If Not .Execute() Then 14 'Falseなら見つからなかった 15 Exit Do 16 End If 17 End With 'sel.Find 18 19 20 '「数字に+1」 21 sel.Text = "ここをどうすればいいのか分からない。" 22 23 sel.Collapse Direction:=wdCollapseEnd 24 Loop 25 26End Sub 27
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/22 10:01
2018/09/22 10:05
2018/09/25 23:07