Windows Script Host in Excel VBA

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?
 
X

xp

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.
 
J

jasontferrell

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.
 
J

JP

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
 
J

jasontferrell

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.
 
D

Dave Peterson

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?
 
J

jasontferrell

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.
 
J

JP

If you declared it As Object in the first place (late binding), the
version dependency issue probably wouldn't have occurred.

--JP
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top