• ベストアンサー

マクロでフォルダ内の全てのExcelファイルを開くには?

Excelのマクロ機能で、マクロを実行すると、あるフォルダ内にある全てのExcelファイルを開くことってできますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

ちょうどこの間作ったのがありました。 同じフォルダにあるExcelファイルのうち、開いてないものを全て開きます。もしフォルダを指定したいのであれば、   FileName = Dir("*.xls") の行の前に   Chdir("フォルダ名") を挿入してください。 Sub OpenAllBooks()   Dim FileName As String   Dim OpenedBook As Workbook   Dim IsBookOpen As Boolean      FileName = Dir("*.xls")   Do While FileName <> ""     If FileName <> ThisWorkbook.Name Then       IsBookOpen = False       For Each OpenedBook In Workbooks         If OpenedBook.Name = FileName Then           IsBookOpen = True           Exit For         End If       Next       If IsBookOpen = False Then         Workbooks.Open (FileName)       End If     End If     FileName = Dir()   Loop End Sub

teru5000
質問者

お礼

教えて頂いた実行したら、うまくいきました。 助かりました。有難うございます!!

関連するQ&A

  • カレントディレクトリにあるExcelファイルを全て開く

    Excelのマクロ機能などを利用してカレントディレクトリ(というかマクロを実行するファイルが格納されたフォルダ)内のその他のExcelファイルを全て開かせるにはどうすればよいでしょうか?フォルダ名の指定はせず、実行するファイルを移動しても動作するようにしたいです。

  • フォルダ内の全てのエクセルにマクロを実行する方法

    1つのフォルダに入っているエクセルに同じマクロを実行したいのですが、やり方がわかりません。 実行するマクロは完成しているため、現在のマクロにフォルダ内全てのエクセルを開いて実行するマクロを追加したいです。 初心者でマクロをよく理解出来ていないので、方法を教えてください。よろしくお願いします。

  • エクセルのマクロであるフォルダ内にある全エクセルファイルのシート1!(

    エクセルのマクロであるフォルダ内にある全エクセルファイルのシート1!(A1:X365)の値を取得し、コピー元のエクセルファイル名のシートに貼付ける方法を教えて頂けないでしょうか?できればコピー元のエクセルファイルは開かずに実行させたいです。エクセルは2003を使っています。

  • vbsで、フォルダ内にあるcsvファイル全てを開き、マクロを起動させた

    vbsで、フォルダ内にあるcsvファイル全てを開き、マクロを起動させたい。 こんにちは。 お世話になっております。 さて、最初はバッチでどうにかならないかと思っていましたが、下記vbsソースを見つけ、 早速チャレンジしたのですが、ファイルが開くところまではうまく行きますが、「マクロ Macro1がありません」というメッセージが出てしまい、マクロが実行されません。 手動でマクロを実行しようとするときに出てくるマクロ一覧には、PERSONAL.XLS:Macro1と、表示されております。 マクロの保存先をまちがえているのでしょうか? また、あるフォルダのcsvファイル全てに対して1つのvbsキックで処理が行なわれるようにするには、どの様にすればいいでしょうか? よろしくお願いします。 ----------------------------------------------------------------------- Dim obj Set obj = WScript.CreateObject("Excel.Application") obj.Visible = True obj.Workbooks.Open "C:\Documents and Settings\Administrator\My Documents\001.xls" obj.Application.Run "Macro1"

  • エクセルマクロでご教示ください

    エクセルで作られたデータファイルに対し、ある操作を施して上書き保存するというマクロを作りました。 そのマクロを走らせるとファイル名を聞いてきまして、そこでファイル名を入力してやれば、ある操作を施したあと 自動的に上書き保存までしてくれるのですが、対象ファイルが複数個あると、ひとつ実行したあとまたひとつ ファイル名を入れて、またそれが終ったら次のファイル名を・・・というように、ひとつひとつ実行しなければならない というのが現状です。 これを次のように改良したいのですが、どうすればいいのでしょうか? 1.マクロを立ち上げる。 2.処理する複数のファイルが入っている「フォルダ」を選ぶ。  (一覧表示のウィンドウが出てきて、その中で「フォルダ」を選ぶ) 3.そのフォルダの中に入っているエクセルファイル全てに対し、既に作成済みのマクロを順次実行する。 というものです。 よろしくお願いします。

  • 同じフォルダ内にあるファイルを開くマクロ

    いつもお世話になります。 EXCEl2000で、フォルダ内に2コのエクセルファイル「A.xls」「B.xls」があり、「A.xls」でマクロを実行する際に、「B.xls」を開きたいのですが、ファイルのパスを設定すると、フォルダを別の場所に動かしたり、別のパソコンにコピーすると開けなくなります。 「同じフォルダの中にある「B.xls」を開く」という命令文の作成は可能でしょうか。

  • Excelマクロで複数のファイルを開く方法

    Excel VBAでそのマクロを実行するファイルと同じフォルダにある 複数のテキストファイルを全て開いて、ある処理を実行して それを名前を変えた別のテキストファイル(元のテキストファイル名に 何らかの名前を追加する形が望ましいです。)として保存する マクロを作成したいのですが、可能でしょうか。 当方、初心者につき申し訳ございませんがよろしくお願い致します。

  • エクセルファイルを開いたときにマクロを実行

    エクセルのファイルを開いたときに、そのファイルに登録されているマクロすべてを自動的に実行させるようにするには、どのように設定をすればよいでしょうか。

  • 複数のエクセルファイルに対してマクロを順次実行する方法

    エクセルのマクロについて教えていただきたいです。 以下のような状況なのですが、アドバイスいただけないでしょうか。 ・同一フォルダに100個以上の同じ形式のエクセルファイルがある(ファイル名に規則性はなし) ・各ファイルは2つのシートから成り、そのうちの「データ」というシートに対して処理を適用したい ・適用したい処理のマクロは作成済み なお、適用したい処理というのは、「データ」シートからある値以上のデータの平均を別のエクセルファイル(これは1つのファイル)に記入するという作業で、値を読み込むだけで書き込むことはありません。 このマクロをフォルダ内の全てのエクセルファイルに対して実行したいのですが、可能であれば各エクセルファイルを開かずにマクロを実行したいのです。(100個を越えるファイルを開いたり閉じたりする動作を避けたい) マクロはしっかりと勉強したわけではなく、ネットから情報を集めつつなんとか作っているレベルで、特にファイルの読み書きがよく理解できていません・・・分かりやすいサイトなどがあればそれも教えていただきたいと思っています。 自分でも上手く説明できていないのはわかりますので、もし必要な情報がありましたら付け加えさせていただきます。 分かる方がいらっしゃいましたらどうぞよろしくお願いいたします。

  • Excelファイルがマクロを含むか調べるには?

    Excell2003で作っていた多量のExcelファイルを、Excel2010で動かす事が必要になってきました。 で、指定フォルダにある複数のExcelファイルが、マクロを含んでいるかどうかを調べたいのです。 加えて、マクロを含んだExcelファイルのファイル名をリストアップしたいのですが、 どの様にしたら良いでしょうか? 適切なマクロなりともご教授いただきたく、よろしくお願いします。