无法在.vbs文件中获取当前目录

时间:2019-08-27 12:42:01

标签: vbscript

我编写了一个Visual Basic脚本来执行Excel宏。我想动态设置.xlsm文件的位置。我使用FileSystemObject来获取当前目录。它返回C:\ Windows \ System32,但是我需要.vbs文件所在的目录。

我尝试使用FileSystemObject和WScript获取当前目录,但是没有成功。

' Create a FileSystemObject to get the current directory
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
strPath = fso.GetAbsolutePathName(".")
myExcelWorker.DefaultFilePath = strPath

' Open the Workbook specified on the command-line 
Dim oWorkBook
Dim strWorkerWB
strWorkerWB = strPath & "\Data center Wattsight long term.xlsm"

Set oWorkBook = myExcelWorker.Workbooks.Open(strWorkerWB)

预期的行为是打开Excel文件。但是我得到一个错误:

Error

1 个答案:

答案 0 :(得分:2)

您正在将当前工作目录与脚本的位置混淆。两者并不相同。

这两个都将为您提供当前工作目录

CreateObject("WScript.Shell").CurrentDirectory
CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")

这将为您提供脚本的位置

CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName)