【问题标题】:Schedule Outlook 2003 Macro计划 Outlook 2003 宏
【发布时间】:2012-02-10 10:29:47
【问题描述】:

我有一个用 VBA 编写的 Outlook 2003 宏。

我想安排它,使其在特定时间自动运行,例如 01:00。 PC 始终处于登录状态。

我找不到任何建议如何执行此操作的内容。

【问题讨论】:

  • 你能澄清一下这个问题吗?我想我不明白。您可以按照描述的方式运行宏。虽然显然没有“RunMacro”功能。你能发布实际代码吗?
  • 嗯,除了宏没有任何代码。我有一个需要按计划运行的宏。我只需要知道如何安排这个。我毫不怀疑有一种方法,但我不知道它是什么。

标签: vba outlook


【解决方案1】:

您可以在 PC 上创建一个计划任务,每天在特定时间运行,然后使用 Outlook 命令行开关启动程序并调用您的宏,例如:

"C:\Program Files\Microsoft Office\Office11\Outlook.exe" /autorun macroname

更新:

您可以使用 API 调用来启动计时器以在 Outlook 后台运行,您可以将其与 VB Now() 命令结合使用以获取当前时间,如果大于您的调度时间,您可以触发您的宏,API 示例可以在这里找到:

http://www.outlookcode.com/threads.aspx?forumid=4&messageid=22831

【讨论】:

  • 感谢您的回答。这种方法的唯一问题是这个 Outlook 实例必须 24 小时运行。有几条规则需要对收到的邮件做出反应,并且必须继续这样做,直到我可以用我正在处理的其他东西替换它。
  • @bukko 不用担心,我添加了一个更新,其中包含指向 Outlook 持续运行时的另一种可能方法的链接。
  • 您链接到的示例适用于 Outlook 2007 - 您知道这是否适用于 Outlook 2003?我在 VB 编辑器中看不到 ThisOutlookSession 模块 - 我需要添加一个吗?感谢您到目前为止的帮助:)
  • 有点繁琐,但我认为已经完成了。感谢您的帮助 - 很多人说无法完成 :)
  • @bukko 没关系,我总是发现 Outlook 对于 VB 来说比其他应用程序更尴尬,但如果可以做到,那么它肯定在 outlookcode.com 上的某个地方:)
【解决方案2】:

http://support.microsoft.com/kb/237913/EN-US

这篇文章说除非你重写它以使用 CDO,否则它无法做到。

对不起。

【讨论】:

  • 它表示您不能将 Outlook 作为服务运行,但还有其他方法,尤其是 Outlook 用户将始终登录时。我目前正在探索上面的计时器选项,看起来它可以工作。
  • 是的,正如我所说。但是,由于上面的答案,我设法做到了。
  • 我想粘贴这个,抱歉:support.microsoft.com/kb/290654 FTA:如果您使用的是 Windows NT 或 Windows 2000,任务计划程序在服务中运行。您不能从服务或从服务衍生的进程自动化 Outlook 对象模型。
猜你喜欢
  • 2011-08-04
  • 1970-01-01
  • 2010-09-07
  • 2010-09-14
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多