以下の検索と置換のプログラムを実行したとき動作に不明点があります。
動きのイメージを教えていただけますでしょうか。
以下のプログラムはカーソル位置から"word"があれば、"ワード"に変換すると考えて作成しております。
1.テストデータ
1 word
2
3 word
2.プログラム
1)Selection.Renge.Textの場合
With Selection.Find
.Text = "word"
Do While .Execute
Selection.Range.Text = "ワード"
Loop
End With
2)Selection.Textの場合
With Selection.Find
.Text = "word"
Do While .Execute
Selection.Text = "ワード"
Loop
End With
3.プログラムの動き
■上記の1)について
1行目の頭にカーソルをセットした場合、実行結果は次の様になります。
1 ワード
2
3 ワード
"word"は全て、"ワード"に変換されます。
(なお、2行目にカーソルをセットした場合は、3行目の"word"のみ"ワード"に変換されます)
■上記の2)について
1行目の頭にカーソルをセットした場合、実行結果は次の様になります。
1 ワード
2
3 word
1行目の"word"のみ"ワード"に変換されます。
4.ご相談
検索を実行するExecuteはctrl+fと同じ動作であると思います。
1)Selection.Renge.Textでは、1行目で検索と置換が完了したら次の検索する値に移ります。
ですが、
2)Selection.Textは1行目で検索と置換が完了するとループを抜けてしまいます。
次に移らず、ループが抜けるのはなぜでしょうか。
動作のイメージを教えていただければと思います。
No.1ベストアンサー
- 回答日時:
Loopを使うときには、検索結果のSelection.Textを解除させる
Selection.Collapse メソッド が必要です。
https://msdn.microsoft.com/ja-jp/VBA/Word-VBA/ar …
Loopの前にSelection.Collapse wdCollapseEndを入れることで
次の検索を実行します。
Selection.Renge.Textでも、検索内容でのトラブル防止のため
Range.Collapse メソッドを入れたほうが良い場合があります。
https://msdn.microsoft.com/ja-jp/VBA/word-vba/ar …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Word(ワード) 大至急!!!!!! ワードのダウンロード版を買ったのですが、使えません 3 2022/06/21 16:50
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- PDF I LOVE PDF利用 pdfからWordに変換について 回答お願いいたします。 無料のI LOV 1 2022/05/13 13:24
- Visual Basic(VBA) Wordマクロで指定したフォルダ名に保存する方法について 8 2022/12/13 11:35
- Visual Basic(VBA) 【VBA】特定のワードが入っている行全体を塗りつぶしたい 4 2022/04/20 15:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レポートの宿題は、pdf化の指示...
-
ワードで日本地図を作製したも...
-
グーグルドライブでワードが崩れる
-
東洋エンタープライズのM品番っ...
-
ワードパッドで囲み線を付けた...
-
iPhoneで禁止ワードを検索でき...
-
課題でワード2枚程度と言われ...
-
PDFがすべてワードに変わってます
-
ワードを保存したときにズレる...
-
スマホのメモからパソコンのワ...
-
Word vba selection.textの考え方
-
ワードのアクセス権
-
ワードパッド
-
メールクリックでワードが開い...
-
LINEのオプチャですが、はじか...
-
添付ファイルが開けません。
-
ワードにおける表計算の例題
-
ワードパットで表をつくりたい
-
バチクソって言葉がマイブーム...
-
アンダーラインのひき方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レポートの宿題は、pdf化の指示...
-
PDFがすべてワードに変わってます
-
ワードを保存したときにズレる...
-
ワードパッドで囲み線を付けた...
-
LINEのオプチャですが、はじか...
-
グーグルドライブでワードが崩れる
-
課題でワード2枚程度と言われ...
-
iPhoneで禁止ワードを検索でき...
-
バチクソって言葉がマイブーム...
-
ワードで日本地図を作製したも...
-
ワードアートの挿入で数行書く...
-
画像データ(tif)をワードに貼...
-
ワードがワードパッドになって...
-
Wordが使えません。
-
ワードパットで表をつくりたい
-
ワードの文章をメールで送る方法
-
ワードのアクセス権
-
ワードで作成した画像を保存す...
-
ChemDrawについて
-
エクセルのマクロについて教え...
おすすめ情報
Selection.TextとSelection.Range.Textの違いがわかりました。
・Selection.Textは置換後の文字列も検索の範囲に入る。
・Selection.Range.Textは次の文字列から検索する。
知りたかった情報が上記になります。
ありがとうございました。