Как запустить VBS скрипт из cmd? - PullRequest
2 голосов
/ 22 октября 2009

У меня есть следующий скрипт vbs из Поддержка Microsoft для добавления надстройки Excel:

Dim oXL As Object
Dim oAddin As Object
Set oXL = CreateObject("Excel.Application")
oXL.Workbooks.Add
Set oAddin = oXL.AddIns.Add("c:\Program Files\MyApp\MyAddin.xla",  True)
oAddin.Installed = True
oXL.Quit
Set oXL = Nothing

Я сохраняю приведенный выше скрипт в файл с именем addin.vbs и запускаю его из командной консоли:

C:\...>cscript addin.vbs

Я получил следующую ошибку:

c:\...\addin.vbs(1, 9) Microsoft VBScript compilation error: Expected end of statement

Не знаете, как я могу запустить его из консоли cmd?

Я запускаю его из Windows XP.

Ответы [ 2 ]

5 голосов
/ 22 октября 2009

Visual Basic для приложений (VBA, на котором написан ваш код) и Visual Basic Scripting Edition (VBS) - это не один и тот же язык.

Windows Scripting Host (WSH, т.е. cscript.exe и wscript.exe) обрабатывает только языки активных сценариев (в большинстве установок VBScript и JScript). VBA может быть запущен только в приложении, которое предназначено для его размещения.

Просто следуйте инструкциям на имеющейся у вас странице поддержки Microsoft и добавьте скрипт в Excel.

3 голосов
/ 23 октября 2009

Ошибка возникает из-за предложения As Object. В отличие от VBA, VBScript имеет только один тип данных - Variant, поэтому вы не указываете тип данных при объявлении переменной. Удалите предложения As Object, и скрипт должен работать нормально:

Dim oXL, oAddin
Set oXL = CreateObject("Excel.Application")
oXL.Workbooks.Add
Set oAddin = oXL.AddIns.Add("c:\Program Files\MyApp\MyAddin.xla",  True)
oAddin.Installed = True
oXL.Quit
Set oXL = Nothing
...