2015-08-27 3 views
1

Я пытаюсь вызвать VBScript для запуска в 32-разрядной версии с помощью функции доступа VBA. Я попробовал несколько различных вариантов Shell, но ничего не похоже на работу, вот моя последняя попытка:Запуск VBScript из Access VBA

Function callVS() 
    Dim wsh As Object 
    Set wsh = CreateObject("Wscript.Shell") 
    Dim errorCode As Integer 
    errorCode = wsh.Run("C:\Windows\syswow64\cscript.exe '\\hct431vntgta901\test scripts\machine queries\queryTest.vbs'", 1, True) 
    If errorCode <> 0 Then 
     MsgBox "Error was recieved" 
    End If 
End Function 

Скрипт получает ошибку каждый раз, когда я пытаюсь запустить его, я не могу видеть, что ошибка, он просто не запускает скрипт.

Я попробовал, и если я запускаю следующую команду в CMD он запускает скрипт просто отлично:

C:\Windows\syswow64\cscript.exe "\\hct431vntgta901\test scripts\machine queries\queryTest.vbs" 

ответ

1
wsh.Run("C:\Windows\syswow64\cscript.exe ""\\hct431v ... es\queryTest.vbs""", 1, True) 
             ^ use escaped double quotes ^

Как вы использовали двойные кавычки из командной строки, и они работают, держать их. Но чтобы поместить двойную кавычку внутри строки, вам нужно сбежать от нее.

+0

Большое спасибо, я не знаю, почему я не думал о том, что одна цитата будет работать одинаково. – Heather

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