0

私のWindows PCには、いくつかのcsvファイルを含むフォルダーがありますが、間にxlsxファイルがある場合があります。

後で、DB にロードできるように、すべての csv ファイルを 1 つにコピーしたいと考えています。しかし、そのためには、xlsx ファイルも csv に変換する必要があります。すべてを個別に開きたくありません。自動的に行う方法はありますか?Excel でマクロを作成しようとしましたが、それをすべての xlsx ファイルに適用する方法がわかりませんでした。

ご協力いただきありがとうございます!

4

1 に答える 1

1

FileSystemObjectアプローチを試す

strPath = "C:\PATH_TO_YOUR_FOLDER"

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.DisplayAlerts = False

Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFso.GetFolder (strPath)

For Each objFile In objFolder.Files

If objFso.GetExtensionName (objFile.Path) = "xls" Then
   Set objWorkbook = objExcel.Workbooks.Open(objFile.Path)
   ' Include your code to work with the Excel object here
   objWorkbook.Close True 'Save changes
End If

Next

objExcel.Quit

それはあなたを始めるはずです。

バージョン 2003 以降、Excel のApplication.FileSearchは非推奨になっているため、FileSystemObjectアプローチの方が優れていることに注意してください。

于 2013-07-05T13:43:34.267 に答える