尝试导出查询时出现Permission denied
错误。原因是有时用户将文件保持打开状态。所以我决定尝试一些错误处理并使其成为如果发生Permission Denied
错误,那么它应该显示MsgBox
来解释该怎么做。如果没有权限被拒绝错误,那么它应该继续并且不显示MsgBox
。但是,它始终显示MsgBox
。
VBA:
Private Sub Command360_Click()
Dim myQueryName As String
Dim myExportFileName As String
myQueryName = "qry_A"
myExportFileName = "J:\blah\Spreadsheet_" & Me![Combo353].Value & ".xlsx"
If Len(myExportFileName) > 0 Then
On Error GoTo Err_Msg
Kill myExportFileName
End If
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, myQueryName, myExportFileName
Application.FollowHyperlink myExportFileName
Err_Msg: MsgBox "You must close the spreadsheet in order to export.", vbOKOnly
End Sub
答案 0 :(得分:1)
我明白了,但我愿意听取任何批评,以便改进这个解决方案。
Err_Msg: If (Err.Number = 70) Then MsgBox "Error: (" & Err.Number & ")" & Err.Description & ". You must close the spreadsheet in order to export.", vbOKOnly Else Resume Next
我需要做的就是在If
行添加Err_Msg
语句,其中条件基于我想要处理的确切错误。