- ベストアンサー
EXCELマクロでxlsとxlsxを開く方法
- EXCELマクロを使用して、xlsとxlsxの両方を開く方法について教えてください。
- 現在、複数の注文書をひとつのブックにまとめるマクロを使用しています。注文書は同一の書式で、セルの内容が一部異なります。最近、xlsとxlsxの形式が混在しており、順番に読み込む方法に工夫を加えたいです。
- 000から順にファイルを開いていくマクロを使用していますが、混在しているxlsとxlsxでも順番通りに読み込む方法はありますか?
- みんなの回答 (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
その他の回答 (2)
- Hirorin_20
- ベストアンサー率20% (136/648)
xlsとxlsxのファイルを読み込んで、ファイル名でオープンしたらよいでしょう。
お礼
ご回答いただきありがとうございました。 参考にさせていただきます。 ありがとうございます。
- keithin
- ベストアンサー率66% (5278/7941)
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
お礼
ありがとうございます。 ご返答が遅くなりすみませんでした。 大変参考になりました。 既存のマクロに組み込むのには少し修正が必要なので 参考にさせていただきます。 ありがとうございました。
お礼
ご回答いただきありがとうございます。 とても参考になりました。 既存のマクロに組み込むのに参考にさせていただきます。 >.xlsと .xlsxの両方のファイルがある場合には .xlsを >優先して開きます。 このことを考えてませんでした。 勉強させていただきました。 ありがとうございます。