Windows Script Host in Excel VBA

  • Thread starter Thread starter jasontferrell
  • Start date Start date
J

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).
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?
 
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.
 
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.
 
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
 
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.
 
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?
 
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.
 
If you declared it As Object in the first place (late binding), the
version dependency issue probably wouldn't have occurred.

--JP
 
Back
Top