2015-11-25 2 views
-1

Этот VBS код показать ошибку, когда я нажимаю, чтобы выполнить этоActiveX компонент не может создать объектный код VBS Erorr

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

Ошибка является here in this is pic.

enter image description here

+1

Возможный дубликат [ActiveX компонент не может создать объект] (http://stackoverflow.com/questions/656934/activex-component-cant-create-object) – Lankymart

ответ

-1

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

Here - очень хорошая рекомендация для этого.

+0

Скорее всего, что библиотека COM 'SScripting.IPNetwork 'не установлен/не зарегистрирован. Если среда выполнения не была установлена, вы не получите эту ошибку в первую очередь, так как сценарий не будет запускать период. – Lankymart

+0

Прежде всего, код, который он показывает, не является полным кодом, поэтому все, что есть до него, будет выполняться и будет вызывать ошибку после достижения этих строк. – ManishChristian

+0

Тот факт, что код OPs не является полным, не влияет на то, установлено ли время выполнения сценариев. Если 'cscript.exe' или' wscript.exe' не были установлены, ничего не запускалось бы, и вы, конечно же, не получили бы ошибку «CreateObject()». – Lankymart

0

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

я имел документы, что сказал что-то вроде:

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

будет работать, это не ... где сейчас?

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

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

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

«somethinglib.SomethingSite.1»

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

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

работал

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

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