使用任务计划程序在 VBS 中下载公共 Google 电子表格

问题描述 投票:0回答:2

我的vb脚本:saveGSheet.vbs(用于下载表格)在手动运行时工作正常。我想自动执行此操作,但自动任务不会下载该文件。

如何在任务计划程序中运行它?在 Windows Server 2008 上。

任务计划程序 - 设置:

  • 操作:运行程序:saveGSheet.bat,代码为:
    c:\Windows\SysWOW64\cscript saveGSheet.vbs
  • 将任务作为本地服务运行
  • 未登录时运行任务
已经尝试过:

    以最高权限运行没有帮助
  • 创建“桌面”文件夹没有帮助
  • “作为批处理作业登录”没有帮助
可能原因:

未登录意味着对象无法正常工作 - 可能需要在交互模式下运行,如 MS Excel?我不明白我的脚本中的哪些内容需要交互式运行(登录)?

    “MSXML2.XMLHTTP.3.0”
  • “ADODB.Stream”
Vb脚本:

' Set your settings strFileURL = "https://docs.google.com/spreadsheets/d/1B5jBWGHT1dGKCwE9KLTlFsyymNCc1s4AH1LcFQOcwqQ/export?format=xlsx" strHDLocation = "C:\file.xlsx" ' Fetch the file Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP.3.0") objXMLHTTP.open "GET", strFileURL, false objXMLHTTP.send() 'Response 200 is OK, now download sheet If objXMLHTTP.Status = 200 Then Set objADOStream = CreateObject("ADODB.Stream") objADOStream.Open objADOStream.Type = 1 'adTypeBinary objADOStream.Write objXMLHTTP.ResponseBody objADOStream.Position = 0 'Set the stream position to the start objADOStream.SaveToFile strHDLocation objADOStream.Close Set objADOStream = Nothing End if
注意:我不应该使用任何第三方应用程序,因此我不使用 wget。

我按照建议制作了一个日志文件,结果:

Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation. All rights reserved. C:\AppBackUpTools\ALM\NotifikaceVSE\SLA_Escalation\download_excel\saveGSheet.vbs(27, 3) ADODB.Stream: Write to file failed.
    
google-sheets vbscript download windows-server-2008 windows-task-scheduler
2个回答
0
投票
修改您的

saveGSheet.bat如下:

c:\Windows\SysWOW64\cscript saveGSheet.vbs > %temp%\saveGSheet.log 2>&1

执行任务后,检查

%temp%\saveGSheet.log 中的日志文件内容,这应该会给您一些进一步调试的线索


-1
投票
您无权在那里写作。将文件夹 ie 更改为您有 vbscript 的文件夹。

© www.soinside.com 2019 - 2024. All rights reserved.