Сведения о вопросе

MAT

14:39, 10th August, 2020

Теги

Почему 'shell' не работает в VBscript в VS6?

Просмотров: 514   Ответов: 4

В макросе для Visual Studio 6 я хотел запустить внешнюю программу, поэтому я набрал:

shell("p4 open " + ActiveDocument.FullName)

Что дало мне ошибку времени выполнения несоответствия типов. То, что мне пришлось напечатать, было следующим:

Dim wshShell
Set wshShell = CreateObject("WScript.Shell")
strResult = wshShell.Run("p4 open " + ActiveDocument.FullName)

Что здесь происходит? Действительно ли эта чепуха необходима или я что-то упустил?



  Сведения об ответе

screen

09:49, 29th August, 2020

VBScript-это не Visual Basic.


  Сведения об ответе

PHPH

03:03, 17th August, 2020

Как отметил лассевк, VBScript не является Visual Basic.

Я считаю, что единственный встроенный объект в VBScript - это объект WScript.

WScript.Echo "Hello, World!"

Из документов

Объект WScript является корневым объектом узла скрипта Windows иерархия объектной модели. Он никогда не нуждается в создании экземпляра перед вызовом его свойства и методы, и он всегда доступен из любого файла скрипта.

Все остальное должно быть создано с помощью вызова CreateObject. Некоторые из этих объектов перечислены здесь .

Объект Shell является одним из других объектов, которые необходимо создать, если вы хотите вызвать методы на нем.

Одно предостережение состоит в том, что RegExp является своего рода встроенным, в котором вы можете создать экземпляр объекта RegExp, например, в VBScript:

Dim r as New RegExp


  Сведения об ответе

Chhiki

12:36, 6th August, 2020

Дать это попробовать:

Shell "p4 open" & ActiveDocument.FullName


  Сведения об ответе

ЯЯ__4

18:56, 11th August, 2020

VB6 использует & для объединения строк вместо+, и вам нужно будет убедиться, что имя файла заключено в кавычки в случае пробелов. Попробуйте вот так:

Shell "p4 open """ & ActiveDocument.FullName & """"


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться