レポートを生成し、.pdfで保存してCDOを使用して電子メールで送信するAccess VBAマクロがあります。手動で実行する場合、または「ユーザーがログオンしているときのみ実行する」セキュリティオプションを使用してタスクスケジューラで実行するように設定すると、すべて正常に動作します。しかし、私はプログラムがの2行目にクラッシュし(でもオプション「最高の特権で実行する」と)「ユーザーがログオンしているかどうかを実行」するためのオプションに設定した場合:とタスクスケジューラが「ユーザーがログオンしているかどうかにかかわらず実行する」に設定されていると、VBAが失敗する
strFileFullPath = CurrentProject.Path & "\Test Report.pdf" DoCmd.OutputTo acOutputReport, strReportName, acFormatPDF, strFileFullPath
をエラー
が選択されたファイルに出力データを保存できません。
マクロがバックグラウンドで他のユーザーと一緒に実行されるため、この問題が発生する可能性があります。私は解決策を模索してきましたが、私はそれが不可能であり、PDF Creator(他の多くの問題を引き起こします)のような他の印刷方法のために変えなければならないということを発見しました。
Windows Server 2012 R2 StandardでAccess 2016を使用しています。
strFileFullPathの値を指定できますか?それはユーザー固有のフォルダにありますか? –
アクセスファイルと同じフォルダにあります。私はそのフォルダにダミーのテキストファイルを書き込むマクロをテストしたので、それはユーザ権限の問題ではないと思います。 –