Компонент ActiveX не может создать объект, ошибка кода vbs

Этот код vbs показывает ошибку, когда я нажимаю, чтобы выполнить его

Set objIP = CreateObject( "SScripting.IPNetwork" )
strIP = objIP.DNSLookup( "www.google.com" )
WScript.Echo "IP address of www.google.com: " & strIP
Set objIP = Nothing

Ошибка находится здесь, на этой картинке.

введите описание изображения здесь


person Mohmed Medhat    schedule 25.11.2015    source источник
comment
Возможный дубликат компонента ActiveX не может создать объект   -  person user692942    schedule 25.11.2015


Ответы (2)


Мне кажется, что компоненты activeX часто плохо документированы, и если вы не можете заставить что-то работать, вам нужен метод, который обходит документацию и переходит непосредственно к тому, что у вас действительно есть на вашем компьютере.

У меня была документация, в которой говорилось что-то вроде:

Set library = CreateObject("somethinglibLib.SomethingLibrary.2")

сработает, не работает ... где теперь?

Я обнаружил, что «somethinglibLib.SomethingLibrary.2» должен существовать в реестре в ключе ProgID, в противном случае ваш CreateObject не будет работать.

Я не буду описывать случаи, когда вы не зарегистрировали компонент activeX, поскольку это описано в другом месте.

Но если вы выполните поиск в реестре части имени объекта, который ищете, вы можете найти, как и я, ProgId, содержащий

"somethinglib.SomethingSite.1"

зная это, я нашел

Set library = CreateObject("somethinglib.SomethingSite.1")

работал

Мой пример частично связан с тем, что версия, которую я установил, не соответствует документации, но, надеюсь, этот метод может помочь другим.

person martski    schedule 05.04.2016

Чтобы ваш код работал, вам необходимо убедиться, что на вашем компьютере установлен System Scripting Runtime.

Здесь очень хорошая ссылка на это.

person ManishChristian    schedule 25.11.2015
comment
Скорее всего, COM-библиотека SScripting.IPNetwork не установлена ​​/ не зарегистрирована. Если бы среда выполнения не была установлена, вы бы не получили эту ошибку, потому что скрипт не запускал период. - person user692942; 25.11.2015
comment
Прежде всего, код, который он показывает, не является полным кодом, поэтому все, что было перед ним, будет запущено и выдаст ошибку, как только достигнет начала этих строк. - person ManishChristian; 25.11.2015
comment
Тот факт, что код OPs не завершен, не влияет на то, установлена ​​ли среда выполнения сценариев. Если cscript.exe или wscript.exe не были установлены, ничего не запустилось бы, и вы бы точно не получили CreateObject() ошибку. - person user692942; 26.11.2015
comment
нет, это только сценарий, больше нет, все, что я хочу, это разрешить ip от имени хоста в сценарии vbs - person Mohmed Medhat; 26.11.2015