【问题标题】:VBS script runs manually, but not through schedulerVBS 脚本手动运行,但不通过调度程序
【发布时间】:2018-02-06 00:03:20
【问题描述】:

我创建了一个 VBA 脚本,当被唤起时发送一个图表的电子邮件。我正在尝试设置一个预定的工作,每天早上 9:30 发送电子邮件。

我创建了一个 VBS 脚本,当我调用它时它运行良好(即 cscript.exe EmailDailyBurnDown.VBS),但是当通过调度程序调用时该脚本将无法工作。你能帮我吗?

EmailDailyBurnDown.VBS

Dim ObjExcel, ObjWB
Set ObjExcel = CreateObject("Excel.Application")
Set ObjWB = ObjExcel.Workbooks.Open("C:\20170814_Promotion Work Backlog_V1.0.9.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 "SendBurnDownChartViaEmail"
ObjWB.Save
ObjWB.Close
ObjExcel.Quit

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

VBA 脚本

Sub SendBurnDownChartViaEmail()

    Dim OutApp As Object
    Dim OutMail As Object
    Dim Fname As String

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    'File path/name of the gif file
    Fname = Environ$("temp") & "\My_Sales1.gif"

    'Save Chart named "Chart 1" as gif file
    ActiveWorkbook.Worksheets("Hidden").ChartObjects("Chart 1").Chart.Export _
            Filename:=Fname, FilterName:="GIF"
    'MsgBox (Fname)

    On Error Resume Next
    With OutMail
        .To = "akshay@xxxx.com"
        .CC = ""
        .BCC = ""
        .Subject = "FBT Sprint " & Worksheets("5. Capacity & Sprint Planning").Range("E11").Value & " Burn Down - " & Date
        .Attachments.Add Fname
        .HTMLBody = "<html>" & "<img src='cid:My_Sales1.gif'></html>"
        .Send   'or use .Display
        '.Display
    End With
    On Error GoTo 0

    'Delete the gif file
    Kill Fname

    Set OutMail = Nothing
    Set OutApp = Nothing

End Sub

我收到以下错误。 谢谢你的帮助!

阿克谢

【问题讨论】:

    标签: excel vbscript scheduled-tasks vba


    【解决方案1】:

    一些谷歌搜索带来了这个结果: https://www.devhut.net/2014/10/31/createobjectoutlook-application-does-not-work-now-what/

    作者没有说明为什么 Outlook 自动化无法像其他 MS Office 软件那样无缝工作,但他提供了另一种绑定 Outlook 实例的方法,也许这会解决您的问题.

    (只有一个链接,没有代码,因为作者明确表示不要重新发布他的代码)

    【讨论】:

      猜你喜欢
      • 2015-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-06
      • 1970-01-01
      • 2019-05-11
      • 2014-01-02
      相关资源
      最近更新 更多