【问题标题】:Running a macro via task scheduler in Windows server 2012在 Windows server 2012 中通过任务调度程序运行宏
【发布时间】:2017-01-20 19:17:06
【问题描述】:

我们创建了一个宏以在 Windows Server 2012 上的 MS Access (Office 365) 中运行,以便它运行通过 MS Outlook 创建和发送电子邮件的脚本。我们可以从 MS Access 内部运行宏,但我们无法让 Windows 任务调度程序自动调度此过程。我们正在做的是使用 MS Access 自动为我们的客户创建发票。如果我们在打开的文件中执行宏,它就可以完美地工作。它会创建所有电子邮件,并附上 PDF 格式的发票,然后通过 Outlook 发送给我们的客户。这一切都只需单击宏即可完成。但是我们无法通过 Windows 任务调度程序来安排这个过程。有人可以帮忙吗?

【问题讨论】:

  • 您的 Outlook 是否也在运行?如果是,则使用 Outlook 提醒调用宏

标签: vba object ms-access outlook scheduler


【解决方案1】:

我正在回答我自己的问题,因为 cmets 不允许发布足够的信息。

我们终于设法使用上述 cmets 中的建议来做到这一点,以使用 Outlook 提醒而不是任务计划程序。

此解决方案涉及在 OUTLOOK 中设置任务和计划提醒。 Outlook 中提醒的重复计划可替代任务计划程序。 我们对提醒进行分类以帮助准确识别。 (对于任务添加新类别并为其命名) Outlook 中的 VBA 脚本通过识别提醒类别来触发,并启动 MSAccess 宏,该宏发送电子邮件然后关闭 Access 应用程序。这是按照为此 Outlook 提醒任务设置的定期安排的基础来完成的。 我们遇到的唯一问题是以下行 mydb.Application.Run“宏名” 由此产生的错误被纠正 mydb.DoCmd.RunMacro “宏名”

我们现在有了一种有效的调度方法。

看起来,当从 OUTLOOK 计划脚本调用 Access VBA 脚本(包括发送电子邮件)时,它在完成任务方面没有问题,而通过任务计划程序执行的完全相同的脚本只是没有完成。

希望这对其他人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-19
    • 2014-06-06
    • 1970-01-01
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    相关资源
    最近更新 更多