<(E-Mail Removed)> wrote in message
On Feb 14, 5:48 pm, "Peter T" <peter_t@discussions> wrote:
> > > Inside one sub, I would like to call a function in an add-in, but want
> > > it to work if the add-in is not necessarily referenced in the project.
> >
> > s = Application.Run("myAddin.xla!fct_name", arg1, arg2)
> >
> > Inclusion of the addin name may not be necessary if there's no
> > ambiguity of the procedure name in any open project.
>
> Regards,
> Peter T
>
> Thanks. This worked for me. Just curiuos how the syntax would
> change if there was ambiguity and I had to specify the module as well?
Normally there shouldn't, couldn't, be any ambiguity of procedure names
within the same project. However you can qualify the procedure name with the
module name and a dot, eg
s = Application.Run("'myAddin.xla'!modName.fct_name", arg1, arg2)
Notice I've also embraced the wb name with apostrophes, necessary if certain
characters are present in the wb name, such as a space.
If you want to go the whole hog you could also include the path to ensure
the addin opens if not already
s = Application.Run("'c:\path\myAddin.xla'!.fct_name", arg1, arg2)
Obviously you'd need to know the path though you wouldn't necessarily need
to hard code it, as above.
Regards,
Peter T
Regards,
Peter T
|