Dir関数 VBA(Word)で複数のファイルに対して同じ処理を繰り返す(Windows)


目次に戻る



仕事上で、テキストファイルをMicrosoft Word形式で保存する。という作業がありました。手順としては
  1. テキストファイルをWordで開く
  2. ページ設定で、余白を小さくする
  3. フォントをMS 明朝に変更
  4. 行間を詰める
  5. 文字の間隔は一定
  6. Word95/6.0形式で保存
これを、永遠と繰り返すのです。
単純に手で行っても良いのですが、こういう単純繰り返し作業はスクリプトやマクロを作った方が楽な場合がほとんどです。
 
今回の場合、「複数のファイルに対して・・・・・」の部分以外はWordの「新しいマクロの記録」で何とかなりますので、今回は複数のファイルに対して処理を行う方法を紹介します。
 
複数のファイルに対して処理を行う手っ取り早い方法は、「ある条件にヒットするファイルを検索し、順に処理を行う」事です。この時「ある条件にヒットするファイルを検索」するのがDir関数です。
 
使い方としては、
  1. foundname = Dir( 検索条件 )
  2. Do while foundname <> ""
  3.     <<処理>>
  4.     foundname = Dir
  5. Loop
という形になります。<<処理>>の部分に行いたい内容を書きます。
 
カレントフォルダのファイル一覧を文章に挿入するマクロ
Sub ファイル一覧挿入()
'
' ファイル一覧挿入 Macro
' 作成日 2001/02/09 作成者 たこのすけ
'
    foundname = Dir("*.*")
    Do While foundname <> ""
        Selection.TypeText Text:=foundname
        Selection.TypeParagraph
        foundname = Dir
    Loop
End Sub


目次に戻る