![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
EXCEL マクロでxlsとxlsxを両方開く方法。
お世話になります。
エクセル マクロについてです。
複数の注文書をひとつのブックにまとめるマクロを使用しています。
注文書は同一の書式で部分的にセルの内容が違うだけです。
今まではxlsの形式で対応をしておりましたが、最近、xlsxの形式も増えてきて
手間がかかるようになってしまいました。
For i = 0 To 100
sName = Format(i, "000")
On Error Resume Next
Set wb = Nothing
Set wb = Application.Workbooks.Open(sPath & sName & ".xls", UpdateLinks:=0)
現在は000から001、002、・・・・・・とファイルを順次開いていくのですが
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
ご回答いただきありがとうございます。
とても参考になりました。
既存のマクロに組み込むのに参考にさせていただきます。
>.xlsと .xlsxの両方のファイルがある場合には .xlsを
>優先して開きます。
このことを考えてませんでした。
勉強させていただきました。
ありがとうございます。
No.2
- 回答日時:
xlsとxlsxのファイルを読み込んで、ファイル名でオープンしたらよいでしょう。
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
ありがとうございます。
ご返答が遅くなりすみませんでした。
大変参考になりました。
既存のマクロに組み込むのには少し修正が必要なので
参考にさせていただきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB2010でExcelの行をコピーして...
-
VBA セル入力された日付データ...
-
【ExcelVBA】指定の書式で、マ...
-
ExcelVBAで今開いているユーザ...
-
VBA 一個前のシートのデータを...
-
EXCELマクロで上書きメッ...
-
EXCEL VBAアドイン:シートの右...
-
EXCELマクロでxlsとxlsxを開く方法
-
一覧表から一行ごとのデータを...
-
VBAを一度起動するとずっと出て...
-
複数のデータ系列の線の太さを...
-
エクセルで「Ctrl+F」を押した...
-
エクセルでツールバーに「縮小...
-
Pictures.Insertメソッド⇒Shape...
-
エクセルVBAでmeに相当するもの...
-
マクロを消すマクロは不可能?
-
エクセルファイルを自身のファ...
-
コモンダイアログエラー
-
複数のCSVファイルを横に並べて...
-
Excelが勝手にシート移動してし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォルダ内の全ブックのシート...
-
ExcelVBAで今開いているユーザ...
-
VB2010でExcelの行をコピーして...
-
エクセルVBA Workbook変数に変...
-
【ExcelVBA】指定の書式で、マ...
-
フォルダ内の全ブックのシート...
-
フォルダ内の全てのBookに同じ...
-
【Excel VBA】ブックを複数開い...
-
すでに開いているブックのマク...
-
EXCELマクロでxlsとxlsxを開く方法
-
VBA セル入力された日付データ...
-
VBA、Excelのworkbook.open に...
-
personal.xlsの削除方法
-
excelマクロ、任意セルの値で名...
-
コマンドボタンでマクロを起動...
-
エクセルVBAでブックを開くと処...
-
VBAでEXCELのワークシートを削...
-
EXCELマクロで上書きメッ...
-
[Excel VBA] フォルダ内の複数...
-
同じ名前で拡張子が違うファイル
おすすめ情報