[英]Export multiple worksheets to CSV and specify save folder
我已经让这个宏工作得很漂亮了,但是它会不时地将导出的工作表保存到我工作的最后一个文件夹中,而不是我想要的特定文件夹。如何指定他们应该进入的文件夹?
Sub asdf()
Dim ws As Worksheet, newWb As Workbook
Application.ScreenUpdating = False
For Each ws In Sheets(Array("sheet1", "sheet2", "sheet3"))
ws.Copy
Set newWb = ActiveWorkbook
With newWb
.SaveAs ws.Name & ".csv", xlCSVWindows
.Close (False)
End With
Next ws
Application.ScreenUpdating = True
End Sub
您需要在代码中指定要保存的位置。
尝试这个。
.SaveAs FileName:="C:\OutputFilepath\" & ws.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
替换此行
.SaveAs ws.Name & ".csv", xlCSVWindows
同
.SaveAs "D:\MyFolder\" & ws.Name & ".csv", xlCSVWindows
将“D:\\ MyFolder \\”更改为所需的路径。
添加包含文件夹完整路径的字符串类型var。 在以下示例中,我将使用临时目录。
Sub asdf()
Dim ws As Worksheet, newWb As Workbook, fp as string
fp = environ("TEMP") & Chr(92)
'could be something like
'fp = environ("USER") & "\desktop\"
Application.ScreenUpdating = False
For Each ws In Sheets(Array("sheet1", "sheet2", "sheet3"))
ws.Copy
Set newWb = ActiveWorkbook
With newWb
.SaveAs fp & ws.Name, xlCSVWindows 'add the path, let saveas add the extension
.Close savechanges:=False
End With
Next ws
Application.ScreenUpdating = True
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.