• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCELマクロでxlsとxlsxを開く方法)

EXCELマクロでxlsとxlsxを開く方法

このQ&Aのポイント
  • EXCELマクロを使用して、xlsとxlsxの両方を開く方法について教えてください。
  • 現在、複数の注文書をひとつのブックにまとめるマクロを使用しています。注文書は同一の書式で、セルの内容が一部異なります。最近、xlsとxlsxの形式が混在しており、順番に読み込む方法に工夫を加えたいです。
  • 000から順にファイルを開いていくマクロを使用していますが、混在しているxlsとxlsxでも順番通りに読み込む方法はありますか?

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

  • ベストアンサー
回答No.3

こんにちは Dir(パス\ファイル名)を実行して、""が返ってきたらファイルが存在しません。 これをIFでsName.xls と sName.xlsx について調べて、存在する方 を開きます。 下記の例では、.xlsと .xlsxの両方のファイルがある場合には .xlsを 優先して開きます。 Sub Sample() Dim sPath As String Dim sName As String Dim i As Integer On Error Resume Next sPath = "C:\Sample\" For i = 0 To 100 sName = sPath & Format(i, "000") If Dir(sName & ".xls") <> "" Then Workbooks.Open sName & ".xls" ElseIf Dir(sName & ".xlsx") <> "" Then Workbooks.Open sName & ".xlsx" End If Next i End Sub

100303
質問者

お礼

ご回答いただきありがとうございます。 とても参考になりました。 既存のマクロに組み込むのに参考にさせていただきます。 >.xlsと .xlsxの両方のファイルがある場合には .xlsを >優先して開きます。 このことを考えてませんでした。 勉強させていただきました。 ありがとうございます。

その他の回答 (2)

回答No.2

xlsとxlsxのファイルを読み込んで、ファイル名でオープンしたらよいでしょう。

100303
質問者

お礼

ご回答いただきありがとうございました。 参考にさせていただきます。 ありがとうございます。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

xlsとxlsxの必ずどちらかしか無いのでしたら,ある方を調べて開けば良いですね。 sub macro1() dim i dim myPath, myFile dim myBook mypath = "c:\test\" for i = 0 to 100 myfile = mypath & format(i, "000") myfile = myfile & iif(dir(myfile & ".xls") = "",".xlsx", ".xls") set mybook = workbooks.open(filename:=myfile, updatelinks:=false) next i end sub

100303
質問者

お礼

ありがとうございます。 ご返答が遅くなりすみませんでした。 大変参考になりました。 既存のマクロに組み込むのには少し修正が必要なので 参考にさせていただきます。 ありがとうございました。