Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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_Error Handling_Checkout - Fatal编程技术网

允许Excel签出错误时停止VBA错误

允许Excel签出错误时停止VBA错误,excel,vba,error-handling,checkout,Excel,Vba,Error Handling,Checkout,如何在停止VBA错误时允许内置Excel错误继续进行 我有一个excel文件的签出VBA代码。如果文件无法签出,我希望excel执行通常的错误“当我可以使用此文件时通知我”,但--不--(目前确实如此)在此之后出现VBA错误 但是,如果我使用On Error Resume Next/On Error Goto,它会停止VBA错误(良好),但也会禁用excel“Notify me”(通知我)消息(不好) 有什么想法吗 代码: 我想您需要在.checkout行之前使用on error。我以前没有使用

如何在停止VBA错误时允许内置Excel错误继续进行

我有一个excel文件的签出VBA代码。如果文件无法签出,我希望excel执行通常的错误“当我可以使用此文件时通知我”,但--不--(目前确实如此)在此之后出现VBA错误

但是,如果我使用On Error Resume Next/On Error Goto,它会停止VBA错误(良好),但也会禁用excel“Notify me”(通知我)消息(不好)

有什么想法吗

代码:


我想您需要在
.checkout
行之前使用
on error
。我以前没有使用过
checkout
。似乎建议您不能签出它,因为它已经打开(虽然在SharePoint中,您必须手动打开它们以检查它们是否已签出)。是的-我尝试在不同的位置查找错误,这解决了VBA错误,但也删除了Excel中的“可供签出时通知”消息,我不想这样做。。。
Sub CheckOut()
' Determine if workbook can be checked out.
rspn1 = MsgBox("Do you want ot begin the survey?", vbYesNo)
If rspn1 = vbNo Then GoTo No Else GoTo Yes
Yes:
Dim x As String
 x = Application.ThisWorkbook.FullName
 Workbooks.CheckOut x
 On Error GoTo 2:
 MsgBox ("The file is now checked out to you. You will be prompted to check in again when finished."), vbOKOnly, "Check Out Complete"
2:
Exit Sub
No:
ThisWorkbook.Close
End Sub