用于将工作簿保存到网络驱动器上的VBA代码

用于将工作簿保存到网络驱动器上的VBA代码,vba,excel,sharepoint-2010,save,Vba,Excel,Sharepoint 2010,Save,您好,我正在使用此VBA代码保存Excel工作簿: Sub Button10_Click() Dim SaveName As String SaveName = ActiveSheet.Range("N2").Text ActiveWorkbook.SaveAs Filename:="z:\" & _ SaveName & ".xlsm" End Sub 这段代码在我打开模板并提交第一次保存时有效,但当我对工作簿进行更改

您好,我正在使用此VBA代码保存Excel工作簿:

Sub Button10_Click()
    Dim SaveName As String
       SaveName = ActiveSheet.Range("N2").Text
       ActiveWorkbook.SaveAs Filename:="z:\" & _
           SaveName & ".xlsm"
End Sub
这段代码在我打开模板并提交第一次保存时有效,但当我对工作簿进行更改并尝试保存时,它不允许我覆盖,并给我一个1004错误

但是,当我再次打开模板并放入相同的文件名时,它会通过给我一个提示框来覆盖

有没有办法让它覆盖

Oh和cel N2是B2和B3的串联,这是站点名称和日期,如果这是导致问题的原因,则在两者之间加一个“-”

提前谢谢你的帮助

我为自己解决问题所做的工作:

调整工作簿以删除文件名中的所有空格

SaveName现在是WeeklyTakingSv9,但已从siteName(B2)更改-WeekendingDate(B3)站点名称将空格去掉并放入“\u0”

我试着修剪,但客户端的文件名是一个特定的网站名到周末的日期

试图创建一个变通方法,以便打开对话框,给出文件名和网络驱动器位置,但这在客户端计算机上不起作用

关于它所做工作的更多细节

我有26个客户站点(图书馆)

每个站点都有自己的连接到SharePoint的网络驱动器

我所做的是设置每个连接到sharepoint库的网络驱动器

我将驱动器号设置为Z,这样就不会干扰他们自己的网络设置

这样我就不必创建26本工作簿了,到目前为止,它只会保存一次,但它们需要每天进入工作簿并进行更改

因此,当工作簿打开时,B2-B3不会更改,因此文件名相同,但它不允许我覆盖其中的内容


SharePoint不是这里的问题,而是我在Excel上遇到的覆盖问题。我在我工作的组织内一直使用网络存储

仅在另存为新文件时使用“另存为”

当您希望工作簿自行保存时,我发现以下代码成功:

Application.DisplayAlerts = False
ThisWorkbook.Save
请注意,此代码每30秒左右执行一次,每次用户单击(文件每天24小时使用!),自实现以来(2013年10月)从未失败过


祝您好运。

这与编程无关。这与编程或VBA无关。然后修改您的问题并提供更多详细信息。提出一个好问题,你就会得到一个好答案。在这里,关于堆栈溢出,我们不回答糟糕的问题,因为它们大部分时间都被删除了。。如果我的答案将被删除,那么分享知识的意义是什么…简单的浪费时间,因为你是这个网站的新手,所以请看。尝试解决。你有没有通过密码?运行时使用的
SaveName
是什么?你检查过空格了吗?您是否尝试过使用
Trim(SaveName)
?在真正提出问题之前,有太多的事情是你没有做过的。完美的工作非常有效,而且非常容易实现。