クエリをエクスポートしようとしたときにエラーが発生しました。その理由は、ユーザーがファイルを開いたままにしておくことがあるためです。だから私はいくつかのエラー処理を試みて、Permission Denied
エラーが発生した場合は、何をするかを説明するMsgBox
を表示するようにしました。パーミッションが拒否されたエラーがない場合は、そのまま続行してMsgBox
を表示しないでください。ただし、常にMsgBox
と表示されています。Access VBA:Onエラーが常にエラー発生の対象となる行に移動する
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
「MsgBox」が*常に*表示されている理由を直感的に理解していますが、エラーで表示されるようにコードを書く方法はわかりません。(VBAの経験はあまりありません) – whatwhatwhat