【发布时间】: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