Word文書で特定の文字の置換を実行するVBスクリプトを作成しようとしていますが、次の方法で管理しました:
objSelection.Find.Text = "["
objSelection.Find.Forward = TRUE
objSelection.Find.Replacement.Text = "q"
objSelection.Find.Execute ,,,,,,,,,,2
objSelection.Find.Text = "{"
objSelection.Find.Forward = TRUE
objSelection.Find.Replacement.Text = "w"
objSelection.Find.Execute ,,,,,,,,,,2
objSelection.Find.Text = "^"
objSelection.Find.Forward = TRUE
objSelection.Find.Replacement.Text = "y"
objSelection.Find.Execute ,,,,,,,,,,2
objSelection.Find.Text = "~"
objSelection.Find.Forward = TRUE
objSelection.Find.Replacement.Text = "z"
objSelection.Find.Execute ,,,,,,,,,,2
objSelection.Find.Text = "]"
objSelection.Find.Forward = TRUE
objSelection.Find.Replacement.Text = "x"
objSelection.Find.Execute ,,,,,,,,,,2
objSelection.Find.Text = "}"
objSelection.Find.Forward = TRUE
objSelection.Find.Replacement.Text = "ć"
objSelection.Find.Execute ,,,,,,,,,,2
objSelection.Find.Text = "@"
objSelection.Find.Forward = TRUE
objSelection.Find.Replacement.Text = "]"
objSelection.Find.Execute ,,,,,,,,,,2
ただし、特にテキストファイルが数MBの場合に置換する必要がある文字数を増やす場合、私がなんとかした方法は非常に遅いです...したがって、スクリプトは文字を置換するたびにドキュメント全体を処理しますその結果、スクリプトの実行が非常に遅くなります。Word ドキュメント内の複数の文字を並行して変更する可能性はありますか?スクリプトはドキュメントを 1 回だけ通過し、どの文字が検出されたかに応じて置換を実行しますか? また、単語ドキュメントから変数に行ごとにロードし、置換のために各文字を指定された文字と比較して、スクリプトの実行がはるかに遅くなることを試みました...英語で申し訳ありませんが、問題を説明できたことを願っています。私を助けてください。ありがとうございました。:)