Link to home
Start Free TrialLog in
Avatar of wtm
wtmFlag for United States of America

asked on

VBScript runtime error: Object required

On line 75 Char 2,  I receive an error on the code below Microsoft VBScript runtime error: Object required. It's referring either to "objDisable.DoIt" or "objEnable.DoIt" . Can some one help me ? I know I must be missing something easy but I just can't find it.

Thanks

The code is attempting to toggle my wireless NIC on or off without having to use Device Manager.

Code Below

<package>
<comment>
NICToggle.wsf This script looks at your ‘Local Area Connection’
and enables it if disabled, disables it if enabled.
</comment>
<job>
<runtime>
<description>
Script for toggling network connection on/off
</description>

<example> C:\>cscript ToggleNIC.wsf
</example>
</runtime>
<object id = "objShell" progid = "Shell.Application"/>
set objShell=CreateObject("shell.application")
<script language = "VBScript">
'Toggle NIC on or off
Option Explicit
Dim objCP, objEnable, objDisable, colNetwork
Dim clsConn, clsLANConn, clsVerb
Dim strNetConn, strConn, strEnable, strDisable
Dim bEnabled, bDisabled

Const NETWORK_CONNECTIONS = &H31&
strConn = "Local Area Connection"
'strEnable = "En&able" strEnable = "&Aktivieren"
'strDisable = "Disa&ble" strDisable = "&Deaktivieren"
Set colNetwork = Nothing
Set colNetwork = objShell.Namespace(NETWORK_CONNECTIONS)

' Network Connections (independent of country/language)
If colNetwork is Nothing Then
WScript.Echo "Network folder not found"
WScript.Quit
End If

Set clsLANConn = Nothing
For Each clsConn in colNetwork.Items
' In case the LAN is named “connection 2”, etc.

If Instr(LCase(clsConn.name),LCase(strConn)) Then
Set clsLANConn = clsConn
Exit For
End If
Next

'WScript.Echo clsLANConn

If clsLANConn is Nothing Then
WScript.Echo "Network Connection not found"
WScript.Quit
End If

bEnabled = True
Set objEnable = Nothing
Set objDisable = Nothing
For Each clsVerb in clsLANConn.verbs  

'WScript.Echo clsVerb.name

If clsVerb.name = strEnable Then
Set objEnable = clsVerb
bEnabled = False
End If


If clsVerb.name = strDisable Then
Set objDisable = clsVerb
bEnabled = True
End If
Next

If bEnabled Then
objDisable.DoIt
WScript.Echo clsLANConn & " Disabled"
Else
objEnable.DoIt
WScript.Echo clsLANConn & " Activated"
End If

'Give the connection time to stop/start
WScript.Sleep 1000
</script>
</job>
</package>
ASKER CERTIFIED SOLUTION
Avatar of Carl Tawn
Carl Tawn
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial