在任务计划程序

时间:2015-07-14 02:59:10

标签: r vbscript scheduled-tasks rscript

我有一个VBS脚本,它接受一个Excel文件并将其保存为PDF。我将此vbs称为通过任务计划程序自动执行的RScript。当我在R中手动运行它时,RScript运行得很好。但是,当我在任务计划程序中安排它时,任务表明它已成功完成,但PDF文件未保存。与运行RScript的任务计划程序有什么不同,导致它实际上没有完成?

这是RScript,我在同一个C:\ test文件夹中保存为HourlyR.R。

shell.exec("C:/test/HourlyNew.vbs")

以下是HourlyNew.vbs的代码

Option Explicit

ExcelMacro

Sub ExcelMacro()

  Dim xlApp
  Dim xlBook
  Dim xlSheet

  Set xlApp = CreateObject("Excel.Application")
  Set xlBook = xlApp.Workbooks.Open("C:\\test\\Hourly.xlsm", 0, False)
  Set xlSheet = xlBook.Worksheets("HourlyDashboard")

  xlApp.DisplayAlerts = False
  xlApp.Visible = False


  xlSheet.ExportAsFixedFormat 0, "c:\\test\\HourlyDashboard.pdf", 0, 1, 0, , , 0
  xlBook.Close
  xlApp.Quit

  Set xlBook = Nothing
  Set xlApp = Nothing

End Sub

以下是我如何设置我的预定任务:

常规标签:
  运行用户是否已登录或未选中   选中最高权限运行

动作标签:
  程序/脚本:C:\ R_Program_Files \ R-3.2.0 \ bin \ x64 \ R.exe
  添加参数(可选):CMD BATCH C:\ test \ HourlyR.R

1 个答案:

答案 0 :(得分:0)

问题可能出在Excel中,但最好的办法是逐步调试。首先,在任务中指定工作目录"开始"选项。然后运行任务,导航到该目录并检查执行任务时是否创建了.Rout文件。它可以包含错误和消息。如果R没有产生任何错误,请删除

xlApp.DisplayAlerts = False
xlApp.Visible = False
xlBook.Close
xlApp.Quit

再次运行任务,并检查任务管理器中是否显示新的EXCEL.exe进程。如果是这样,请打开"仅在用户登录时运行"任务设置中的选项,您应该看到Excel UI及其显示的任何消息。