VBA – xlsx文件在打开时创build临时文件

偷了一些来自Stackoverflow的VBA代码来循环通过指定目录中的XLS / XLSX文件。 一旦我得到这个工作,我将把这个目录中的文件中的每个工作表导出到CSV文件。

问题是当它find一个xlsx文件时,它会创build一个临时的〜$ blah.xlsx文件。 由于if语句会打开目录中的所有文件,因为这不是常规的Excel文件,所以会出错。 有没有办法让它跳过临时文件?

这是我正在使用的代码:

Sub select_rows() strPath = "C:\exceldocs" 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" Or objFso.GetExtensionName(objFile.Path) = "xlsx") Then ' Set objWorkbook = objExcel.Workbooks.Open(objFile.Path) ' Include your code to work with the Excel object here MsgBox (objFile.Name) ' objWorkbook.Close True 'Commented out because this crashed the routine End If Next objExcel.Quit