見出し画像

パソコン悪戦苦闘記録

WordマクロVBAでテキストファイルを操作

 先日の記事で、テキストファイルをVBAで扱う方法について触れました。大量のテキストファイルを一つずつ順番に開いていき、中味のテキストをWordファイルに取り込むVBAマクロです。
 テキストファイルが膨大な数であっても、マクロを使うと、こういった作業も、一瞬で終わります。

 その記事は、
   こちらをご覧ください。

 テキストファイルは、
 Open ステートメントで開き、
 Close ステートメントで閉じます。
 その両ステートの間に、実行したい処理のコードを記述すればよいわけです。つまり、テキスファイルが開いて、閉じるまでの間に実行処理するわけです。

 Excel_VBAでテキストファイルの読み書きを行う上記操作に関しては、ネット上にたくさんの解説が掲載されています。
 Excelにテキストファイルからテキストを読み込んだり、逆にテキストファイルにExcel上のデータを書き込んだりする方法です。
 これと同じ方法によって、ワープロソフトWordでも同じことができます。ExcelマクロとWordマクロとでは、同じマクロ言語のVBAを使うため、コードの中味もほとんど変わることがないのです。


ワンころ先生のマクロ講義

 
 参考として、そのWordマクロのVBAコードを掲載しておきます。
 あくまでも、一つの例示です。ただし、このコードを利用して万一、データが破損したとしても、私は責任を負いかねます。その点はどうぞ、ご了承ください。(データのバックアップをとった上でお試しください。)

Sub テキストファイル操作() 
Dim myFile As String , myLine As String 
myFile = "C:¥Users¥Hoge¥Documents¥ほげほげ.txt" 
Open myFile For Input As #1 
Do Until EOF(1) 
  Line Input #1, myLine 
  ThisDocument.Range.InsertAfter myLine & vbCr 
Loop 
Close #1 
End Sub 


 Excelマクロは熟知していても、Wordマクロにはなじみがない方にとって、テキストをWord文書に取り込むのに、どう記述するか迷うかもしれません。
 Excelでは、一つ一つのセルを特定できるから、ある特定のセルにテキストを挿入できます。そうするとつい、Wordでも同じように、テキストを挿入する位置を特定しようとしがちです。
 ですが、Wordでは上記のとおり、「InsertAfter」を使えばOKです。これによって、Word文書の文末の次の行(正確には、次の段落)に、新しくテキストを取り込むことができます。




それでは、また次の記事で
goosyun


《2021年11月25日追記》
 Word文書の文末へのテキスト挿入方法はほかにもあります。
  こちらの記事をご覧ください。
名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「VBAプログラミング・マクロ」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事