【发布时间】:2017-11-06 17:53:00
【问题描述】:
我在我的 Windows 7 机器上安装了 RStudio,但是我无法访问 Windows 任务计划程序来自动化一些 R 脚本。在这种情况下有其他选择吗?我探索了taskscheduleR,但发现这只是任务计划程序的包装。对使用 VB 脚本的想法持开放态度 - 基本上任何 hack 都可以。
【问题讨论】:
标签: r excel vba vbscript taskscheduler
我在我的 Windows 7 机器上安装了 RStudio,但是我无法访问 Windows 任务计划程序来自动化一些 R 脚本。在这种情况下有其他选择吗?我探索了taskscheduleR,但发现这只是任务计划程序的包装。对使用 VB 脚本的想法持开放态度 - 基本上任何 hack 都可以。
【问题讨论】:
标签: r excel vba vbscript taskscheduler
我建议您使用 VBA,您需要学习如何使用 Application.OnTime;
您需要其他可以根据需要触发和停止该潜艇的潜艇;第一个可以开始计划。
Public stop_running As Boolean
Public sTime As String
Sub Start(input As String)
stop_running = True 'This controls schedule in Application.Ontime
sTime = input
Application.OnTime TimeValue(sTime), "Rscript", Schedule:=stop_running
End Sub
只要你想停止运行这个宏,你就运行这个;
Sub Finish()
stop_running = False 'Set the schedule to false to stop the macro
Application.OnTime TimeValue(sTime), "Rscript", Schedule:=stop_running
End Sub
那么这是运行你的 r-script 的子:
Sub Rscript()
'runs R script through cmd
If Not stop_running Exit Sub
Dim shell As Object
Set shell = VBA.CreateObject("WScript.Shell")
Dim waitTillComplete As Boolean: waitTillComplete = True
Dim style As Integer: style = 1
Dim errorCode As Integer
Dim path As String
path = "RScript C:\R\myscript.R"
errorCode = shell.Run(path, style, waitTillComplete)
End Sub
您可以像这样从即时窗口调用宏 Start:
Call Start(TimeValue("14:00:00 pm"))
您的宏将在下午 2 点运行。每天。
【讨论】: