2016-08-03 94 views
0

打开Excel我已经调用一个.vbs读取从Excel文件这里蝙蝠是我VBScript来从当前位置

set OBJECT=WScript.CreateObject("WScript.Shell") 
WScript.sleep 2000 

Set objExcel = CreateObject("Excel.Application") 
Set objWorkbook = objExcel.Workbooks.Open("C:\folder1\Folder2\MyExcel.xls") 
set objsheet = objExcel.ActiveWorkbook.Worksheets(3) 

OBJECT.SendKeys "Some Data."&""&objsheet.Cells(2,1).value &" " &objsheet.Cells(2,4).value 
WScript.sleep 200 

这个伟大的工程我的问题是不同的人会使用它所以我需要它能够从当前位置运行(%cd%)

感谢!

回答

0

你可以尝试:

Application.ThisWorkbook.Path 
Application.ThisWorkbook.FullName 

它例如返回:

C:\用户\ d3ll_main \ Dropbox的\联合国儿童基金会CAR 2016 \分析

C:\用户\ d3ll_main \ Dropbox的\ UNICEF CAR 2016 \ Analysis \ UnicefRCA_Analysis_v0.2.2.xlsm

此工作簿是指VBA代码所在的工作簿 - 与活动工作簿无关。

+0

那么我在哪里添加? – Jeff

+0

那么这返回一个路径。所以,无论你以其他方式使用路径 - 在上例中,这将是:“C:\ folder1 \ Folder2 \ MyExcel.xls”。 虽然我建议设置一个变量: 昏暗mypath中作为字符串 mypath中= Application.ThisWorkbook.FullName 然后用mypath中作为参考。 –

+0

谢谢,我会试一试。看着它看起来像在Excel中?我的.vbs是独立的。 – Jeff