レポートを生成し、.pdf で保存し、CDO を使用して電子メールで送信する Access VBA マクロがあります。手動で実行するか、セキュリティオプション「ユーザーがログオンしているときにのみ実行」を使用してタスクスケジューラで実行するように設定すると、すべて正常に動作します。ただし、「ユーザーがログオンしているかどうかに関係なく実行する」オプションを設定すると (「最上位の特権で実行する」オプションを使用しても)、次の 2 行目でプログラムがクラッシュします。
strFileFullPath = CurrentProject.Path & "\Test Report.pdf"
DoCmd.OutputTo acOutputReport, strReportName, acFormatPDF, strFileFullPath
エラーで
Microsoft Access は、選択したファイルに出力データを保存できません。
マクロがバックグラウンドで他のユーザーと一緒に実行されるため、これが発生することは間違いありません。私は解決策を探していましたが、それは不可能であり、PDF Creator (他の多くの問題をもたらす) などの他の印刷方法に変更する必要があることがわかりました。
Windows Server 2012 R2 Standard で Access 2016 を使用しています。