Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 784
  • Last Modified:

Wscript.CreateObject

Hi
Can you help with this code, why am I getting error messages.
it high lights "Wscript" from Wscript.CreateObject as a variable, but it is not a variable.

Dim WshShell as Object
Set WshShell = Wscript.CreateObject("Wscript.shell"): Compile error, variable not defined


wshom.ocx is installed and registered on my machine and I have tried
Wscript.CreateObject("Wscript.shell")
WScript.CreateObject("WScript.shell")
WSCRIPT.CreateObject("WSCRIPT.SHELL")
With no luck

0
paul01
Asked:
paul01
1 Solution
 
WippieCommented:
1:st
There's no object in vb called Wscript...so variable really isn't defined...

2:nd
The object is case sensitive.
Be sure that it shouldn't be like "WScript.Shell" or something

0
 
paul01Author Commented:
Thanks Wippie but already tried that one with luck
0
 
Bart van der WeeCommented:
Paul,

Set WshShell = WScript.CreateObject("WScript.Shell")
Is correct - at the top of your program do you have:

Option Explicit

if so you will have to:

Dim WshShell


Hope this helps,

Bart
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
ArkCommented:
Hi

Set WshShell = Wscript.CreateObject("Wscript.shell"): Compile error, variable not deined
This is vbs script, not VB syntax

Set WshShell = CreateObject("Wscript.shell"): Run time error, Activex component cant create object

1.Object types are often case sencitive, so try "WScript.Shell"
2. Check if wshom.ocx is installed and registered on your machine.

Cheers
0
 
DanRollinsCommented:
Hi paul01,
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:

    DELETE this question.
    *** I personally had a similar needs and could never instantiate a WScript object.  Has anyone tried any of these solutions?

paul01, Please DO NOT accept this comment as an answer.
EXPERTS: Post a comment if you are certain that an expert deserves credit.  Explain why.
==========
DanRollins -- EE database cleanup volunteer
0
 
ArkCommented:
Hi
Just a comment:
>>*** I personally had a similar needs and could never instantiate a WScript object.  Has anyone tried any of these solutions?<<

It's strange...

*** I personally had a similar needs and could never instantiate a WScript object.  Has anyone tried any of these solutions?

Private Sub Command1_Click()
   Dim WshShell As Object
   Set WshShell = CreateObject("Wscript.Shell")
   WshShell.Popup "See, I'm working!!!" & vbCrLf & "I'll disapear after 3 sec.", 3, "WScript Demo", vbOKCancel
   Set WshShell = Nothing
End Sub

Works fine

Cheers
0
 
DanRollinsCommented:
I've had no problems creating a WShell object, it's the WScript object itself... In an HTA, it provides such useful objects as the StdIn object and methods such as Sleep() that I've needed to use.

Since your code works, then it certainly appears that you have provided a PAQable answer.  Lets give paul01 a few days to respond.
-- Dan
0
 
ArkCommented:
Hello Dan
If you so need these object, just use:

Dim sVBSFile As String

Private Sub Command1_Click()
   Dim nFile As Integer
   sVBSFile = App.Path & "\test.vbs"
   nFile = FreeFile
   Open sVBSFile For Output As #nFile
      Print #nFile, "Set WshNetwork = WScript.CreateObject(" & Chr(34) & "WScript.Network" & Chr(34) & ")"
      Print #nFile, "WScript.Echo " & Chr(34) & "Domain = " & Chr(34) & " & WshNetwork.UserDomain"
      Print #nFile, "WScript.Echo " & Chr(34) & "Computer Name = " & Chr(34) & " & WshNetwork.ComputerName"
      Print #nFile, "WScript.Sleep 200"
   Close #nFile
   Shell "wscript " & sVBSFile, vbNormalFocus
End Sub

Private Sub Form_Unload(Cancel As Integer)
   Kill sVBSFile
End Sub

Cheers
0
 
DanRollinsCommented:
Thanks Ark.  Executing an external script is certainly one technique.  It seems a long way to go to execute Sleep(0) in order to give up a timeslice -- and anyway, I think that that program would run concurrently with the calling program.  However, it does provide a way to access some of the other services provided by the WScript object.  Thanks.
-- Dan
0
 
ArkCommented:
Hi Dan
It was just a joke :)

Cheers
0
 
Computer101Commented:
Points reduced to 0 and placed in PAQ

Computer101
E-E Moderator
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now