Solved

Wscript.CreateObject

Posted on 2001-07-22
11
750 Views
Last Modified: 2012-06-27
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
Comment
Question by:paul01
11 Comments
 
LVL 1

Expert Comment

by:Wippie
ID: 6306266
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
 

Author Comment

by:paul01
ID: 6306290
Thanks Wippie but already tried that one with luck
0
 
LVL 4

Expert Comment

by:Bart van der Wee
ID: 6306598
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
 
LVL 27

Expert Comment

by:Ark
ID: 6306755
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
 
LVL 49

Expert Comment

by:DanRollins
ID: 7156338
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
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 27

Expert Comment

by:Ark
ID: 7156441
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
 
LVL 49

Expert Comment

by:DanRollins
ID: 7156468
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
 
LVL 27

Expert Comment

by:Ark
ID: 7156582
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
 
LVL 49

Expert Comment

by:DanRollins
ID: 7157626
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
 
LVL 27

Expert Comment

by:Ark
ID: 7158964
Hi Dan
It was just a joke :)

Cheers
0
 
LVL 1

Accepted Solution

by:
Computer101 earned 0 total points
ID: 7182406
Points reduced to 0 and placed in PAQ

Computer101
E-E Moderator
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now