Can I call a sub procedure from another file?

C

Conan Kelly

Hello all,

I have a time sheet workbook that, at the end of the payperiod, will
mail itself to my boss. I want to add to it the ability to move
itself to a "Sent" folder. But in order to do that, it needs to be
closed. When it closes, all code stored in it after the Close method
will not execute, correct? So, I will have to store the commands to
close and move the file in PERSONAL.XLS. Can I call a sub procedure
stored in PERSONAL.XLS from my timesheet workbook? If so, how?

I'm assuming that the procedure I'm calling will need the Public
keyword added to it, correct? I have tried that before. The
statement I used to try to call it was:

ProcedureName Arguments '(if any)

But when I tried that, I got Compile Error message: Variable Not
Defined (if I remember correctly).

Any help on this matter will be greatly appreciated,

Conan Kelly
 
D

Dave Peterson

This was just posted by Rob Bovey:

Application.Run "'YourAdd-in.xla'!YourSubName", Arg1, Arg2, ....

Just for completeness, if the routine is a function and you want to capture
the return value, you write it as

x = Application.Run("'YourAdd-in.xla'!YourSubName", Arg1, Arg2)

========
Another alternative would be to add a reference to your workbook that points at
your addin.

Give your addin a nice unique project name (not VBAProject) and then with your
other workbook's project active:

Tools|references|
click on that addin's project.

Then you can use your functions/subs in the addin just like they were part of
that same project.
 

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