[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同一フォルダないで拡張子がcsv、xlsx、xlsmでも読み込めるようにしたいのですが。』(八幡の藪知らず)
こんにちは
初歩的なことをお尋ねします。
同一フォルダー内にある文字列「SP」を含んだファイルを開くマクロですが
拡張子が、csv、xlsx、xlsmのどれであっても問題なく開けるようにするには
どのように書けばよろしいですか。今はcsvだけを対象に
Workbooks.Open ThisWorkbook.Path & "\*SP*.csv"
としていますが、これに加えてできるでしょうか。
よろしくお願いいたします。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
Workbooks.Open ThisWorkbook.Path & "\" & aaa
エラー等判定無し
(ah) 2021/09/16(木) 17:39
■2
そういったファイルが無いなら問題はでないでしょうが、ahさんの提案だと↓のようなファイルがあった時に問題が生じるかもです
0SPaa.doc ↑が先に見つかった場合、これを開こうとしてしまうため。
■3
なので、フォルダ内のファイルのうちファイル名に「SPを含む」ものを片っ端から取得して、拡張子が該当したら開くようにすればしたらよいと思います。
Sub さんぷる() Dim ファイル名 As String Dim フラグ As Boolean
Stop 'ブレークポイントの代わり
ファイル名 = Dir(thisworbook.Path & "\*SP*") Do Until ファイル名 = "" Select Case LCase(Right(ファイル名, Len(ファイル名) - InStrRev(ファイル名, "."))) Case "csv", "xlsx", "xlsm" Workbooks.Open ThisWorkbook.Path & "\" & ファイル名 フラグ = True End Select
ファイル名 = Dir() Loop
If Not フラグ Then MsgBox "該当ファイルなし" End Sub
(もこな2 ) 2021/09/17(金) 09:55
誤 ファイル名 = Dir(thisworbook.Path & "\*SP*") 正 ファイル名 = Dir(Thisworkbook.Path & "\*SP*")
(もこな2 ) 2021/09/17(金) 09:57
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.