当サイトの記事にはプロモーションが含まれています。

Word VBAで文字列を簡単に置換する方法|初心者向け解説

パソコンパソコン・スマホ教室
スポンサーリンク

Wordの文書内で特定の文字を一括で置き換えたいとき、手作業で行うのは面倒ですよね。そこで活躍するのが「Word VBA(Visual Basic for Applications)」です。今回は、プログラミング初心者でもわかりやすく、Word VBAを使った文字列の置換方法を解説します。

スポンサーリンク

Word VBAで文字列を置換する基本の流れ

Wordのイメージ

Wordのイメージ

まずは、Word VBAを使って文字列を置換する基本的な流れを見てみましょう。

Wordを開く準備をする

Word VBAを使うには、まずWordアプリケーションを操作できるように準備します。

vba
Dim WordApp As Object
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True

これで、Wordを操作する準備が整いました。

置換対象の文書を開く

次に、置換を行いたい文書を開きます。

vba
Dim WordDoc As Object
Set WordDoc = WordApp.Documents.Open("C:pathtoyourdocument.docx")

ここで指定するパスは、実際の文書の保存場所に合わせて変更してください。

文字列を置換する

いよいよ文字列の置換です。例えば、「古い文字列」を「新しい文字列」に置き換える場合、以下のように記述します。

vba
With WordDoc.Content.Find
.Text = "古い文字列"
.Replacement.Text = "新しい文字列"
.Execute Replace:=2 ' wdReplaceAll
End With

このコードは、文書全体から「古い文字列」を検索し、「新しい文字列」に置き換えます。

Wordを閉じる

作業が終わったら、Wordを閉じて終了します。

vba
WordDoc.Close
WordApp.Quit

これで、Word VBAを使った文字列の置換が完了です。

初心者でもできる!実践的な置換例

次に、実際の業務で役立つ具体的な置換例を紹介します。

複数の文字列を一括で置換する

複数の異なる文字列を一度に置換したい場合、以下のように配列を使って効率的に処理できます。

vba
Dim findTexts As Variant
Dim replaceTexts As Variant
Dim i As Integer

findTexts = Array("古い文字列1", "古い文字列2", "古い文字列3")
replaceTexts = Array("新しい文字列1", "新しい文字列2", "新しい文字列3")

For i = LBound(findTexts) To UBound(findTexts)
With WordDoc.Content.Find
.Text = findTexts(i)
.Replacement.Text = replaceTexts(i)
.Execute Replace:=2 ' wdReplaceAll
End With
Next i

このコードは、指定した複数の文字列を一括で置換します。

特定の書式を持つ文字列を置換する

例えば、太字の「古い文字列」を太字の「新しい文字列」に置換したい場合、以下のように書式を指定できます。

vba
With WordDoc.Content.Find
.Text = "古い文字列"
.Replacement.Text = "新しい文字列"
.Replacement.Font.Bold = True
.Execute Replace:=2 ' wdReplaceAll
End With

このコードは、太字の「古い文字列」を太字の「新しい文字列」に置き換えます。

よくある質問や疑問

Q1: VBAのコードをどこに書けばいいですか?

VBAのコードは、Wordの「開発」タブから「Visual Basic」を選択し、表示されるエディタに入力します。新しいモジュールを挿入して、その中にコードを記述してください。

Q2: 置換対象の文字列が見つからない場合、どうすればいいですか?

置換対象の文字列が見つからない場合、検索範囲や書式設定が正しいか確認してください。また、大文字と小文字の区別やワイルドカードの使用など、検索条件を見直すことも有効です。

Q3: VBAのコードを実行する際にエラーが出る場合、どうすればいいですか?

エラーが出る場合、エラーメッセージを確認し、該当する行や設定を見直してください。特に、参照設定やオブジェクトの宣言が正しいか確認することが重要です。

まとめ

Word VBAを使うことで、文書内の文字列を効率的に置換することができます。特に、定型文書の作成や大量の文書処理を行う際に非常に便利です。初心者の方でも、基本的な流れを押さえれば、すぐに活用できるようになります。

他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました