Он постоянно говорит, что компонент 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

2 ответа

Решение

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

Спасибо за это. У меня такие же проблемы при использовании этого Shell.Localmachine на моей машине Windows 7 64 бит, когда я пытаюсь запустить простой код 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
Другие вопросы по тегам