12.Word の既存ファイルを読み込み検索・置き換え後保存する |
1.VB6.0 から Word の既存ファイルを読み込み検索・置き換え後保存する 2. 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Word 2007/Word 2010(Word 2000〜Word 2003) Option :[Option Explicit] 参照設定:Microsoft Word *.* ObjectLibrary / Microsoft Scripting Runtime 参照設定方法参照 使用 API: その他 :ツール→オプション→全般→エラートラップで[エラー発生時に中断]以外にチェックを入れておいて下さい。 :Word の起動及び終了は、[VBからワードを起動・終了する]を使ってサンプルをテストして下さい。 |
1.VB6.0 から Word の既存ファイルを読み込み検索・置き換え後保存する |
下記コードは、11.VB6.0 からワードを起動・終了する基本操作例ができていて下記コードを追加するものとします。 起動・終了に関する操作は、上記で設定して下さい。 Word 上で検索置き換えの動作をマクロで記録したものを VB6.0 用に変換したものです。 Excel 同様、Selection を使用するのは問題があるので、その代わりに Content プロパティを使っています。 Content プロパティについては、下記をご覧下さい。 このようにマクロを取って、そのコードをWord のVBA のヘルプで調べながら、VB6.0 用に書き換えて動作をテストしながら試す事によって簡単にコードを作る事ができます。 Private Sub Command3_Click() Dim wdContent As Word.Range Set wdContent = wdDoc.Content '本文のストーリー を示す Range オブジェクトを取得します。 With wdContent.Find .Text = Text1.Text '検索文字 .Replacement.Text = Text2.Text '置換する文字列を取得または設定します。 .Forward = True 'True を設定すると、検索での検索方向は下方向になります。 .Wrap = wdFindContinue '文書を下方向に検索し、末尾に到達した場合、文書の先頭から続けます。 .MatchCase = False '大文字・小文字を区別しないで検索 .MatchWholeWord = False '単語退位では、検索しない .MatchByte = False '検索時にアルファベットまたはカタカナの全角文字と半角文字が区別されます。 .MatchWildcards = False '検索する文字列にワイルドカードがを含まない .MatchFuzzy = False 'True = 検索時に日本語の文字列のあいまい検索オプションが使用されます。 End With Dim Ret As Boolean '指定された検索を実行します。検索が正しく実行できた場合、True を返します。 Ret = wdContent.Find.Execute(Replace:=wdReplaceAll) Label1.Caption = Ret End Sub Document.Content プロパティ 本文のストーリー を示す Range オブジェクトを取得します。 ストーリー: 文書内でほかの領域とは区別できるテキストを含む文書の領域。たとえば、文書に本文、脚注、およびヘッダーが含まれている場合は、本文ストーリー、脚注ストーリー、およびヘッダー ストーリーが含まれています。 |
2. |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
VB6.0 から Word を起動する VB6.0 から Word を終了する VB6.0 から ワード を起動する VB6.0 から ワード
を終了する VB6.0 から Word の文書ファイルの検索・置き換えを実施する ワード文書の検索置き換え 置換 検索 VBA Visual Basic for Applications |