【问题标题】:Task Scheduler running but not finishing or working properly VBscript任务计划程序正在运行但未完成或正常工作 VBscript
【发布时间】:2013-12-11 19:03:21
【问题描述】:

我有一个运行 excel 宏的 vbscript。一切似乎都是正确的,但它并没有像我希望的那样工作。任务开始,然后只是继续运行而不做任何事情。

让我向您展示我所拥有的一切...我没有收到任何错误,只是运行不正常。

任务调度器时间线

  • 事件 110 用户触发的任务(任务计划程序为用户“tsee”启动了任务“\Test”的“{6569c7af-fed8-456b-8c8e-9d1653b8c15a}”实例。
  • 事件 319 任务引擎收到消息以启动任务
  • 事件 100 任务已启动 - 任务计划程序为用户“METRO\tsee”启动了“\Test”任务的“{6569c7af-fed8-456b-8c8e-9d1653b8c15a}”实例。
  • 事件 200 操作已启动 - 任务计划程序在任务的实例“{6569c7af-fed8-456b-8c8e-9d1653b8c15a}”中启动了操作“C:\Users\tsee\Desktop\vbsTest\runTest.vbs” \测试”。
  • 事件 129 已创建任务进程 - 任务计划程序启动任务“\Test”,实例“C:\Windows\System32\WScript.exe”,进程 ID 为 8964。

之后它只是说 “正在运行” 并且不执行任何操作。

我的 VBScript:(runTest.vbs)

Dim xlApp
Dim xlBook

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("\\fileserver\homeshares\Tsee\My Documents\Programming\Task Scheduler\runTask.xlsm", 0, True)
xlApp.Run "runTaskTest"
xlBook.Close
xlApp.Quit

Set xlBook = Nothing
Set xlApp = Nothing

我的 excel 工作表和宏:(runTask.xlsm)

Sub runTaskTest()
    Dim erow As Long

    erow = Cells(Rows.Count, "A").End(xlUp).Row

    Cells(erow + 1, 1).FormulaR1C1 = "This test was successful : " & Now

    ThisWorkbook.Save
End Sub

任何帮助将不胜感激。提前致谢!

路径网络:

【问题讨论】:

  • 1.验证您的网络路径 2. 验证宏名称
  • 能否添加调试点并查看宏/脚本何时开始挂起?
  • @mehow 正在下载 MSD。它没有发生在 excel 宏中。我运行它没有任何问题。
  • 请确认您的 excel 宏在正确的位置。它应该在一个模块中,而不是在工作表对象模块中。查看我之前的评论

标签: excel vba vbscript


【解决方案1】:

更进一步的cmets

修改你的 VBS 文件

Dim xlApp
Dim xlBook

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("\\fileserver\homeshares\Tsee\My Documents\Programming\Task Scheduler\runTask.xlsm", 0, False)

xlApp.DisplayAlerts = False
xlApp.Visible = False

xlApp.Run "runTaskTest"

xlBook.Saved = True
xlBook.Save

xlBook.Close
xlApp.Quit


Set xlBook = Nothing
Set xlApp = Nothing

和你的宏

Sub runTaskTest()
    Dim erow As Long
    erow = Sheets(1).Cells(Rows.Count, "A").End(xlUp).Row
    Sheets(1).Cells(erow + 1, 1).Value = "This test was successful : " & Now

    ThisWorkbook.Saved = True
    ThisWorkbook.Save
End Sub

它应该可以工作

【讨论】:

  • 所以当我在运行脚本后尝试手动打开文件时,我得到了一个错误,上面写着File in Use。我让它运行一分钟左右......这里有什么不正常的工作吗?
  • Excel 实例可能仍在进程中。重启你的机器运行脚本并确保文件被关闭。
  • 文件似乎没有被关闭。我刚刚进入任务管理器并清除了所有excel实例并能够打开它。挂起的任何原因还是您认为有必要重新启动? (仅供参考……试试ctrl + shift + esc 而不是ctrl + alt + del
  • 很多原因可能是您的 excel 宏在某处抛出错误
  • 找到它...从 vbs 文件中注释掉 xlBook.Saved = TruexlBook.Save 并且它运行得非常好。感谢所有的帮助。真的,非常感谢。
猜你喜欢
  • 2013-09-26
  • 1970-01-01
  • 1970-01-01
  • 2014-12-19
  • 1970-01-01
  • 2018-12-05
  • 1970-01-01
  • 2014-12-05
  • 1970-01-01
相关资源
最近更新 更多