【问题标题】:Windows Task Manager Schedule VBA Macro to Send An Email Using OutLook Daily Running Manually and Not AutomaticallyWindows 任务管理器计划 VBA 宏使用 OutLook Daily 发送电子邮件,手动运行而不是自动运行
【发布时间】:2016-11-15 22:40:00
【问题描述】:

我的宏正在运行,为此我创建了一个 vb 脚本并使用 Windows 任务管理器来安排它每天的运行。

每当我手动运行或尝试更改触发器中的时间时,我总是确保 excel 和 Outlook 都没有运行。 如果我在 Excel VBA 中运行宏,它会发送电子邮件。 安排任务每天运行后,作为测试,如果我转到(在 TaskScheduler 中)查看 -> 隐藏任务并手动单击运行,它会发送电子邮件。

但是,如果我安排它在每天的特定时间运行,比如从今天开始,从现在开始 15 分钟,它不会发送电子邮件,并且最后一次运行结果是 (0x0)。

我已启用信任中心设置中的所有宏,并选择了“信任对 VBA 项目对象模型的访问”,这与管理员权限无关。 这是我的 VB 脚本

Dim ObjExcel, ObjWB
Set ObjExcel = CreateObject("Excel.Application")
Set ObjWB = ObjExcel.Workbooks.Open("C:\Users\myUser\MyLocation\MyFile.xlsm")
ObjExcel.Visible = False
ObjExcel.DisplayAlerts = False
ObjExcel.AskToUpdateLinks = False
ObjExcel.AlertBeforeOverwriting = False

'vbs opens a file specified by the path below
'either use the Workbook Open event (if macros are enabled), or Application.Run

ObjExcel.Application.Run "MyFile.xlsm!main_macro"
ObjWB.Save
ObjWB.ActiveWorkbook.Close
ObjExcel.Quit

Set ObjWB = Nothing
Set ObjExcel = Nothing
WScript.Echo "Finished."
WScript.Quit

另外,这是我的 TaskScheduler 设置:

参考:

Sending email from excel automatically based on date

How to set recurring schedule for xlsm file using Windows Task Scheduler

How can you run an Excel macro through a schedule task

Task Scheduler does not run Excel VBA Code to send PDF as Email Attachment

如果我将以下设置为True:

ObjExcel.Visible = False
ObjExcel.DisplayAlerts = False
ObjExcel.AskToUpdateLinks = False
ObjExcel.AlertBeforeOverwriting = False

Excel 以只读模式打开并说单击通知以接收通知,您现在可以编辑工作簿但我无法编辑它,说另一个用户已打开工作簿以供编辑。

【问题讨论】:

  • 我假设您已经登录,而任务应该运行,对吧?
  • 后台是否有打​​开的 Excel 进程?也许你的脚本没有干净地关闭你的工作簿。
  • 我认为“ObjWB.ActiveWorkbook.Close”这一行应该是“ObjWB.Close”。 ObjWB 已经是工作簿了
  • 如果直接运行脚本(文件,而不是任务),会不会出现错误?
  • 所以现在脚本运行没有错误,但是excel进程没有退出?

标签: excel email macros scheduled-tasks vba


【解决方案1】:

我认为重点是这条线

ObjWB.ActiveWorkbook.Close

必须是

ObjWB.Close

.

请试试这个并评论你的结果。

【讨论】:

  • 后台excel进程还在运行。
  • 是的,当我手动单击 vbs 脚本时。使用任务调度程序报错:activex 组件无法创建对象
  • 所以出现了activex错误但是邮件发送了?
  • 你在脚本中做了什么改动?
猜你喜欢
  • 1970-01-01
  • 2015-05-10
  • 2014-07-30
  • 2018-03-08
  • 2013-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多