2016-08-03 6 views
0

У меня есть .bat, что обратиться за помощью к .vbs, который считывает из файла здесь первенствовать является то, что у меня естьVBScript, чтобы открыть Excel из текущего местоположения

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: \ Users \ d3ll_main \ Dropbox \ ЮНИСЕФ CAR 2016 \ Анализ

C: \ Users \ d3ll_main \ Dropbox \ UNICEF CAR 2016 \ Анализ \ UnicefRCA_Analysis_v0.2.2.xlsm

Эта рабочая книга относится к книге, в которой код VBA живет независимо от активной книги.

+0

Итак, где бы я добавил это? – Jeff

+0

Ну, это возвращает путь. Таким образом, если бы вы в противном случае использовали бы путь - в вашем примере выше, это будет: «C: \ folder1 \ Folder2 \ MyExcel.xls». Хотя я рекомендую установить переменную: Dim myPath как строка myPath = Application.ThisWorkbook.FullName И затем использовать myPath в качестве ссылки. –

+0

Спасибо, я попробую. Глядя на это, похоже, что он идет в Excel? Мои .vbs автономны. – Jeff

Смежные вопросы