vbscript中的.GetAbsolutePathName(“。”)在由任务调度程序运行时未获得正确的路径

时间:2015-10-29 14:32:32

标签: vbscript

我正在尝试使用任务计划程序运行vb脚本。 我使用.GetAbsolutePathName(“。”)来获取脚本的完整路径。 当我手动运行脚本时,它能够获得正确的路径。但是当按计划运行任务时,它会输出“C:\ Windows \ System32 \作为路径。

我正在使用路径名来获取我想要运行的Excel文件的完整路径。 excel文件保存在与脚本相同的路径中。

以下是我的代码:

Set fso = CreateObject("Scripting.FileSystemObject")

scurDir = fso.GetAbsolutePathName(".")

set fso = nothing

Set myxlApplication = CreateObject("Excel.Application")

wscript.echo scurDir & "\OOO Automation Tool.xlsm"

Set myWorkBook = myxlApplication.Workbooks.Open( scurDir & "\OOO Automation Tool.xlsm" )

myxlApplication.Visible = False

myxlApplication.Wait(Now + TimeValue("0:00:10"))

'Run routine
myWorkBook.Application.Run "MOutofOffice.pDetectIdleTime" 

'Close application
myxlApplication.Quit

'Release objects
set myxlApplication = nothing
set myWorkBook = nothing

你能帮助我找到正确的道路吗?

1 个答案:

答案 0 :(得分:4)

您可以尝试使用

With WScript.CreateObject("Scripting.FileSystemObject") 
    WScript.Echo .GetFile(WScript.ScriptFullName).ParentFolder.Path
End With

您需要存储脚本的路径,而不是当前的活动目录,以及使用"."引用检索的内容。