Он продолжает говорить, что компонент ActiveX не может создать объект: «Shell.LocalMachine»

Когда я запускаю код, я получаю сообщение об ошибке

Компонент ActiveX не может создать объект: «Shell.LocalMachine»

Class MachineName
    Private internal_ComputerName

    Public Function SetMachineName
        Set objComputer = CreateObject("Shell.LocalMachine")
        internal_ComputerName = objComputer.MachineName
    End Function

    Public Property Get GetMachineName
        GetMachineName = internal_ComputerName
    End Property
End Class

Dim objMachine
Set objMachine = New MachineName
objMachine.SetMachineName

person Cocoa Dev    schedule 19.08.2011    source источник
comment
Shell.LocalMachine установлен? поищите в реестре с помощью regedit   -  person    schedule 20.08.2011
comment
Должен признаться, я не встречал этот объект раньше. Обычно я создаю WScript.Network объект и получить свойство ComputerName. Если вы диагностируете Shell.LocalMachine, я могу сказать вам, что на моей копии XP он предоставляется system32\shgina.dll.   -  person Morbo    schedule 20.08.2011
comment
См. также здесь для получения дополнительной информации.   -  person Morbo    schedule 20.08.2011
comment
какая версия винды у вас стоит?   -  person    schedule 20.08.2011
comment
судя по этой теме это только на XP   -  person    schedule 20.08.2011
comment
Морбо, не могли бы вы ответить на вопрос, чтобы я мог отдать вам должное?   -  person Cocoa Dev    schedule 23.08.2011


Ответы (2)


Спасибо за это. У меня те же проблемы при использовании этого Shell.Localmachine на моем 64-битном компьютере с Windows 7, когда я пытаюсь запустить простой код vbscript. Вместо этого мне пришлось по умолчанию использовать WScript.Network:

'just a test script
'set objComputer = CreateObject("Shell.LocalMachine")

'wscript.echo "computer name" & objcomputer.machinename

Set objWshNet = CreateObject("WScript.Network")
wscript.echo "computer name : " & objwshnet.computername
person Michael    schedule 16.04.2012

Морбо сказал: «Должен признать, что раньше я не сталкивался с этим объектом. Обычно я создавал объект «WScript.Network» и получал свойство ComputerName. Если вы диагностируете «Shell.LocalMachine», я могу сказать вам, что на моем копия XP предоставляется system32\shgina.dll"

person Cocoa Dev    schedule 29.08.2011