2017-09-13 95 views
0

我使用这个代码的工作表作为CSV导出:错误而导出表作为csv文件 - 获取运行时错误“1004”

Option Explicit 
Public Sub ExportWorksheetAndSaveAsCSV() 
Dim wbkExport As Workbook 
Dim shtToExport As Worksheet 
Set shtToExport = ThisWorkbook.Worksheets("Sheet1") 'Sheet to export as CSV 
Set wbkExport = Application.Workbooks.Add 
shtToExport.Copy Before:=wbkExport.Worksheets(wbkExport.Worksheets.Count) 
Application.DisplayAlerts = False  'Possibly overwrite without asking 
wbkExport.SaveAs Filename:="C:\tmp\test.csv", FileFormat:=xlCSV 
Application.DisplayAlerts = True 
wbkExport.Close SaveChanges:=False 
End Sub 

当我提供这个位置:

wbkExport.SaveAs Filename:="C:\tmp\test.csv", FileFormat:=xlCSV 

它给我的错误:

Runtime 1004 

但是,当我改变位置:

wbkExport.SaveAs Filename:="C:\Users\username\Desktop\test.csv", FileFormat:=xlCSV 

它的工作原理!

任何人都可以请告诉我在这种情况下做什么?

+0

您可能没有将文件放入该文件夹的权限。 –

+0

@ScottCraner我需要其他人使用这个文件来导出使用上述宏的结果。如果我提供这个位置:=“C:\ Users \ username \ Desktop \ test.csv”然后将其限制在我的机器上。但其他用户将在他们的机器上运行宏。我能否以任何方式更改位置,或者我/其他用户是否可以通过对上述代码进行更改来获取权限? –

回答

0

我在想,有没有C:\ tmp中的位置和解决方案是为您打造一个网络驱动器,所有需要它的访问也和保存CSV那里的用户。