###ループ処理終了後、検索を始めた部分までカーソルを移動するWordマクロ
題目通りです。
私はこの掲示板内でアドバイスいただき、あるループ処理をするマクロを作りました。(そのお二方には感謝しかありません。)
しかし、最近そのマクロにある機能を追加する必要が出てきました。それは「ループ処理終了後、検索を始めた部分までカーソルを移動する」という機能です。
文書の最初なら、ActiveDocument.Range(0, 0).Select
とすればいいとは調べて分かったのですが、検索を始めた部分まではわかりませんでした。
これはどういうふうに実現できるのでしょうか?
どうかご教授いただけると助かります・・・
以下に、とあるループ処理をするマクロを記します。
lang
1Sub PlusNumber() 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 = sel.Text + 1 22 23 sel.Collapse Direction:=wdCollapseEnd 24 Loop 25 'ここで初めにカーソルを置いた部分まで戻りたい 26End Sub
追記
「ループ処理終了後、検索を始めた部分までカーソルを移動する」について以下に例を示します。
処理前のword文書
(カーソルよりしたの数字に+1するマクロを使う)
lang
11 22 3(ここにカーソルがあるとする) 43 54 65
処理後のword文書
lang
11 22 3(本来なら一番下にカーソルがいったままだが、ここにカーソルを戻したい。) 44(ループ処理で+1されている) 55(ループ処理で+1されている) 66(ループ処理で+1されている)
回答1件
あなたの回答
tips
プレビュー