3

我有一个生成报告的 Access VBA 宏,将其保存为 .pdf,然后使用 CDO 通过电子邮件发送。如果我手动运行它,或者如果我使用安全选项“仅在用户登录时运行”将它设置为在任务计划程序上运行,一切正常。但是,如果我将选项设置为“无论用户是否登录都运行”(即使使用“以最高权限运行”选项),程序在第二行崩溃:

strFileFullPath = CurrentProject.Path & "\Test Report.pdf" DoCmd.OutputTo acOutputReport, strReportName, acFormatPDF, strFileFullPath

有错误

Microsoft Access 无法将输出数据保存到您选择的文件中。

我很确定会发生这种情况,因为宏在后台与其他用户一起运行。我一直在寻找解决方案,但我发现这是不可能的,我应该更改其他打印方法,例如 PDF Creator(这会带来很多其他问题)。

我在 Windows Server 2012 R2 Standard 中使用 Access 2016。

4

1 回答 1

10

这听起来很疯狂,但是几天没有结果后,我设法通过创建这两个空文件夹来解决我的问题:

  • C:\Windows\System32\config\systemprofile\Desktop
  • C:\Windows\SysWOW64\config\systemprofile\Desktop

Faye 在此页面底部的评论的所有学​​分:https ://blogs.technet.microsoft.com/askperf/2015/02/18/help-my-scheduled-task-does-not-run/

虽然评论是关于 Excel 的,但它解决了我在 Access 上的问题。似乎这与 Office 在非交互模式下运行某些进程(在我的情况下是 pdf 生成)时遇到问题有关(这是任务计划程序在选中“无论用户是否登录时运行”时运行的模式) .

于 2016-05-06T21:59:40.490 回答