Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA-另存为-如果网络不可访问,则出现运行时错误_Excel_Vba - Fatal编程技术网

Excel VBA-另存为-如果网络不可访问,则出现运行时错误

Excel VBA-另存为-如果网络不可访问,则出现运行时错误,excel,vba,Excel,Vba,我正试图用下面的代码将excel文件保存到网络驱动器中。 问题是,如果网络不可访问,则会出现运行时错误 你能帮我修改代码吗 -如果网络可访问,则在给定的网络驱动器上保存文件 -如果没有,则保存到本地计算机(在DouDocuments文件夹中创建副本) 谢谢 Dim datum_ As String Dim path_ As String datum_ = Format(Now, "yyyy-mm-dd hh-mm") path_ = "\\networkfolder" 'Application

我正试图用下面的代码将excel文件保存到网络驱动器中。 问题是,如果网络不可访问,则会出现运行时错误

你能帮我修改代码吗 -如果网络可访问,则在给定的网络驱动器上保存文件 -如果没有,则保存到本地计算机(在DouDocuments文件夹中创建副本)

谢谢

Dim datum_ As String
Dim path_ As String
datum_ = Format(Now, "yyyy-mm-dd hh-mm")
path_ = "\\networkfolder"

'Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=path_ & datum_ & ".xlsm"
'Application.DisplayAlerts = True

您可以使用错误处理,因此如果出现错误,请更改指向本地内容的路径

Dim datum_ As String
Dim path_ As String
datum_ = Format(Now, "yyyy-mm-dd hh-mm")
path_ = "\\networkfolder"

On Error GoTo localPath
'Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=path_ & datum_ & ".xlsm"
'Application.DisplayAlerts = True

'rest of code here
Exit Sub

localPath:
path_ = "insert local path here"
ActiveWorkbook.SaveAs Filename:=path_ & datum_ & ".xlsm"
“。。。。代码
Application.DisplayAlerts=False
出错时继续下一步
ActiveWorkbook.SaveAs文件名:=路径&&datum&“.xlsm”
如果错误号为0,则ActiveWorkbook.SaveAs文件名:=myLocalPath_U2;&datum_U2;&“.xlsm”
Application.DisplayAlerts=True
错误转到0
' .... 代码

在所有情况下都会调用
ErrHandler
。为什么不检查
如果Err.Number0那么…
没有想到这一点,可以在保存行后放置一个不同的错误处理程序来处理所有其他错误。我的意思是,即使没有错误发生,您也在本地保存?编辑以避免这种情况。我相信有更好的解决方案,但这是一个。一个“结束如果”应该添加,但工作!谢谢你们两个!
'.... code
Application.DisplayAlerts = False
On Error Resume Next
ActiveWorkbook.SaveAs Filename:=path_ & datum_ & ".xlsm"
If Err.Number <> 0 Then ActiveWorkbook.SaveAs Filename:=myLocalPath_ & datum_ & ".xlsm"
Application.DisplayAlerts = True
On Error Goto 0
' .... code