VBA另存为运行时错误1004

我已经编写了这个VBA代码来保存指定位置的文件的新版本。 它在我的电脑上绝对正常,但不会在同事身上工作。 我们都使用相同版本的Excel。 我已经确定工作簿中没有密码,并确保他对文件具有完全的权限。

Sub SaveNew() Dim FileName As String Dim Path As String Dim Plnt As String Dim PC As String Dim fso As FileSystemObject Set fso = CreateObject("Scripting.FileSystemObject") 'Save and calculate workbook before changes. Patse Filename so it doesnt change ActiveWorkbook.Save ActiveSheet.Calculate ActiveSheet.Select Range("c7").Copy Range("c8").PasteSpecial xlPasteValues 'Define path and filename Path = "Z:\UK\BFD\MAReports$\PPV & MR21\Stock Loss\Site Files\" FileName = Sheets("Menu").Range("c8") Plnt = Sheets("Menu").Range("c3") PC = Sheets("Menu").Range("c5") 'Save new version ThisWorkbook.SaveAs FileName:=Path & FileName & ".xlsm", FileFormat:=52 

任何帮助感激!

关于这个代码有一些很奇怪的事情,请看右边的注释:

 ActiveWorkbook.Save 'saves the current book (that's ok) ActiveSheet.Calculate 'only meaningful if you have calculation set to manual ActiveSheet.Select 'why select the activesheet, you're not using the selection Range("c7").Copy 'why copy/paste c7 to c8? if c7 is empty the saveAs fails Range("c8").PasteSpecial xlPasteValues 'this is better: Range("c8").Value = Range("c7").Value 

可能你遇到的问题是由于:

1 – 另存为不保存副本,但保存当前工作簿在一个新的名称,所以如果另一台计算机上的另一个用户运行相同的macros和Z:是共享驱动器,则另一个用户/计算机将locking相同​​的文件,你想保存到另一台计算机上的Excelclosures,其他用户/计算机和您/您的计算机在此文件上具有相同的权限。

2-您/您的计算机无权在该networking位置进行写入

我已经testing了你的代码,我可以复制原因1与相同的1004运行时错误