我试图使用下面的代码在两个不同的csv文件中导出两个工作表:
import_bt.SaveAs Filename:="D:\Temp\import_bt.csv", FileFormat:=xlCSV, CreateBackup:=False, Local:=False
import_brd.SaveAs Filename:="D:\Temp\import_brd.csv", FileFormat:=xlCSV, CreateBackup:=False, Local:=True
代码工作正常,但我有一个问题,它还将我的整个文件保存为最后一个名为import_brd
的. csv
文件。
为了能够在不更改活动文档名称的情况下复制工作表,您无法按尝试的方式继续。它将始终保存工作表,但工作簿将保存为您上次分配的(csv)名称。
请尝试此代码:
Sub testSaveSheetAsCSV()
Dim import_bt As Worksheet, import_brd As Worksheet, wb As Workbook
'I used dummy sheets name only for testing reason. Please, use your real ones:
Set import_bt = Sheets("Test") 'use here your necessary sheet
Set import_brd = Sheets("Teste") 'use here your necessary sheet
Set wb = Workbooks.aDD
import_bt.Copy Before:=wb.Worksheets(1)
wb.SaveAs fileName:=ThisWorkbook.path & "\import_bt.csv", FileFormat:=xlCSV, CreateBackup:=False, Local:=False
import_brd.Copy Before:=wb.Worksheets(1) 'it will save its first sheet
wb.SaveAs fileName:=ThisWorkbook.path & "\import_brd.csv", FileFormat:=xlCSV, CreateBackup:=False, Local:=True
wb.Close False
End Sub
它添加一个新工作簿,在新创建的工作簿中现有的第一个工作表之前复制需要CSV转换的工作表,然后保存(ASCSV)。它重复第二个工作表的步骤并关闭临时工作簿。
如果您需要避免有关覆盖现有文件的警告(如果是这样的话),可以调整代码以避免它。只有在您想使用代码或使用最后必要的文件更新现有csv文件的情况下。