Discussion:
Windows Script Host in Excel VBA
(too old to reply)
jasontferrell
2009-11-02 16:24:00 UTC
Permalink
This is not technically an Excel object, but I'm having a problem with
it within a workbook. I have some code that calls the
FileSystemObject in a workbook that works fine on my machine, but does
not work on a colleague's machine, which appears to be identical (same
OS, Excel Version 2003).
The code fails on a line like this:
Set fso=New FileSystemObject
or set fso=CreateObject("Scripting.FileSystemObject")
The error is Automation Error The specified module could not be found.
If I go to Tools->References on the problem machine, it doesn't show
any missing referenced files. Also, if I go to the Object Browser and
search for filesystemobject, it finds it. Intellisense similarly can
look up the object. However, I get this error indicating that it
cannot find the FileSystemObject. What should I try next?
xp
2009-11-02 18:39:02 UTC
Permalink
Try this: get each of your macro names and search for each one, one at a
time, throughout all modules. I have gotten this error before, because I had
two Subs or Functions with the same name in different modules...

Hope it helps.
Post by jasontferrell
This is not technically an Excel object, but I'm having a problem with
it within a workbook. I have some code that calls the
FileSystemObject in a workbook that works fine on my machine, but does
not work on a colleague's machine, which appears to be identical (same
OS, Excel Version 2003).
Set fso=New FileSystemObject
or set fso=CreateObject("Scripting.FileSystemObject")
The error is Automation Error The specified module could not be found.
If I go to Tools->References on the problem machine, it doesn't show
any missing referenced files. Also, if I go to the Object Browser and
search for filesystemobject, it finds it. Intellisense similarly can
look up the object. However, I get this error indicating that it
cannot find the FileSystemObject. What should I try next?
.
jasontferrell
2009-11-02 19:47:09 UTC
Permalink
Okay, I checked that, and ensured I'm not using the same name, even in
Private subroutines within different modules. It is working on one
machine, just not the other one.
JP
2009-11-02 19:49:26 UTC
Permalink
Have you tried setting a reference to Windows Script Host Object
Model?

In the VBA IDE (press Alt-F11), go to Tools > References and look for
"Windows Script Host Object Model". If you can't find it, click Browse
and go to the system32 folder and look for wshom.ocx. Did you find it?

--JP
Post by jasontferrell
This is not technically an Excel object, but I'm having a problem with
it within a workbook.  I have some code that calls the
FileSystemObject in a workbook that works fine on my machine, but does
not work on a colleague's machine, which appears to be identical (same
OS, Excel Version 2003).
Set fso=New FileSystemObject
or set fso=CreateObject("Scripting.FileSystemObject")
The error is Automation Error The specified module could not be found.
If I go to Tools->References on the problem machine, it doesn't show
any missing referenced files.  Also, if I go to the Object Browser and
search for filesystemobject, it finds it.  Intellisense similarly can
look up the object.  However, I get this error indicating that it
cannot find the FileSystemObject.  What should I try next?
jasontferrell
2009-11-02 20:15:41 UTC
Permalink
Yes, I have a reference to the Windows Script Host Object Model. I
also disconnected and reconnected it on the machine that's having a
problem.
JP
2009-11-02 21:41:04 UTC
Permalink
Post more of your code?

--JP
Yes, I have a reference to the Windows Script Host Object Model.  I
also disconnected and reconnected it on the machine that's having a
problem.
Dave Peterson
2009-11-02 21:41:49 UTC
Permalink
I remember when this kind of scripting came out.

Our IT folks disabled them from running. They were afraid of security/malware
problems.

Maybe your user disabled scripting?

Can you run a .vbs file by double clicking on it?
Post by jasontferrell
This is not technically an Excel object, but I'm having a problem with
it within a workbook. I have some code that calls the
FileSystemObject in a workbook that works fine on my machine, but does
not work on a colleague's machine, which appears to be identical (same
OS, Excel Version 2003).
Set fso=New FileSystemObject
or set fso=CreateObject("Scripting.FileSystemObject")
The error is Automation Error The specified module could not be found.
If I go to Tools->References on the problem machine, it doesn't show
any missing referenced files. Also, if I go to the Object Browser and
search for filesystemobject, it finds it. Intellisense similarly can
look up the object. However, I get this error indicating that it
cannot find the FileSystemObject. What should I try next?
--
Dave Peterson
jasontferrell
2009-11-03 18:01:27 UTC
Permalink
Thanks very much for all the help. It turned out that the machine
where I did the coding was on Windows Script Host Object Model 5.7 and
the machine where it didn't work was on 5.6. Upgrading to 5.7 appears
to have solved the problem.
JP
2009-11-03 18:12:17 UTC
Permalink
How did you declare your variable? As Object or As FileSystemObject?

--JP
Thanks very much for all the help.  It turned out that the machine
where I did the coding was on Windows Script Host Object Model 5.7 and
the machine where it didn't work was on 5.6.  Upgrading to 5.7 appears
to have solved the problem.
jasontferrell
2009-11-04 19:39:45 UTC
Permalink
As FileSystemObject
JP
2009-11-04 21:27:31 UTC
Permalink
If you declared it As Object in the first place (late binding), the
version dependency issue probably wouldn't have occurred.

--JP
Post by JP
As FileSystemObject
Loading...