笹川さんは「100個もWordファイルあるのよ?どうやって一人でやるの?」と言ったので、僕も答えた。「プログラミングですよ!VBAで自動置換すれば30分でできますよ。僕ではなく、太田先輩ならばですが・・・」こうして、太田先輩がプログラムを作り、僕と笹川さんがプログラムの実行結果を検証することになった。コミPo!)実際のプログラムを見てみようさて、物語の途中ですが、太田先輩が作った実際のプログラムを紹介します。今回は、100個あるWordファイルの中にある文字列を置換するVBAのプログラムです。今回のサンプルプログラムが、こちらにあります。Wordで動くように作成しています。今回のプログラムでは、VBAを利用して、Wordファイル100個を順々に開いていって、「平成」と書かれている部分を「令和」に置換します。Wordの契約書が入ったフォルダに、「置換マクロ.docm」というWordファイルを作成しましょう。マクロ有効文書(*.docm)」と指定するのを忘れないようにしましょう。マクロ有効文書の形式で今回のプログラムでは、この「置換マクロ.docm」を保存したフォルダにあるWordファイル(『.docx』の拡張子)を連続で置換します。[Alt]+[F11]キーを押して、VBAエディタを起動して、以下のプログラムを記述します。Subプログラムを確認してみましょう。(*1)の部分では、置換する文字列を指定します。ここでは「平成」を「令和」に置換するように指定しています。他の文字列を置換したい場合には、この部分を書き換えましょう。続いて、プログラムの(*2)から(*3)の部分では、Wordファイルの一覧を得て、サブルーチンのReplaceDocを呼び出します。(*2a)の部分では、Windowsのファイル操作用のオブジェクトを取得します。(*2b)の部分では、このワードファイルのあるフォルダのパスにあるファイルの一覧を取得します。(*3)の部分で、Wordファイル(拡張子がdocx)であれば、サブルーチンReplaceDocを呼び出します。(*5)のサブルーチンReplaceDocでは、Wordファイル一つを開いて、置換処理を実行します。(*6)の部分でWordファイルを開きます。(*7)のSelectionを利用して置換処理を行います。SelectionのFindを使うと手軽に一括置換を行うことができます。置換をした後は、(*8)の部分でファイルを保存し、Wordファイルを閉じます。それでは、物語に戻りましょう。***太田先輩は20分ほどかけてプログラムを完成させた。3個のWordファイルでテストして、正しく動いたので、100個のWordファイルを一気に置換した。その後、僕たちでファイルを手当たり次第に開いて、正しく置換されていることを確認した。結果、検証時間も含めて、無事に30分で100個のファイルを置換することができた。それで、笹川さんは、太田先輩に深々と頭を下げて長めのお礼を言った後、僕に笑顔で何か言った後、走って去って行った。なんだか、笹川さんは嵐のような人だ。素直に笑った笹川さんも綺麗だなと思った。急ぎの仕事を終え、ほっとした僕が食事に行こうと席を立つと、太田先輩が僕に近づいてきた。お昼、遅くなっちゃったね。午後も仕事多いから、ささっと隣の牛丼屋に行かない?」なんと、思いがけず太田先輩からの食事のお誘いだ!(続く)自由型プログラマー。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。テキスト音楽「サクラ」など。※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。Corporation。