It is in a module by itself now. It never was part of the Microsoft Excel
Objects. It was always a module. Now it is in Module1 (as I usually rename
modules). But I believe I have other copies of that function elsewhere so I
renamed it to IsOpenWBXX and called it thusly and it works. So I believe it
must be a 'matter of mistaken identity' of my function. Anyway, issue
resolved short-term and I will fix long-term by cleaning up my code and
eliminated dup functions with the same name.
"Dave Peterson" wrote:
> That's not enough information.
>
> Is the code in the ThisWorkbook module? Or behind a worksheet?
>
> Select your project in the project explorer in the VBE and click on
> Insert|Module.
>
> Then move (not copy) your code there.
>
> MikeH2 wrote:
> >
> > Personal.xla is open and the module type pulldown at the top says (General)
> >
> > "Dave Peterson" wrote:
> >
> > > It sounds like personal.xla isn't open.
> > >
> > > Or maybe IsOpenWB isn't in a general module.
> > >
> > >
> > >
> > > MikeH2 wrote:
> > > >
> > > > In a VBA Sub, I issue this command:
> > > >
> > > > Dim IsItOpen As Variant
> > > > IsItOpen = Application.Run("personal.xla!IsOpenWB", "chart of accounts.xlsx")
> > > >
> > > > And the function in personal.xla is:
> > > > Public Function isopenwb(ByVal WBname As String) As Boolean
> > > > 'returns true if workbook is open
> > > > Dim objWorkbook As Object
> > > > On Error Resume Next
> > > > isopenwb = False
> > > > Set objWorkbook = Workbooks(WBname)
> > > > If Err = 0 Then isopenwb = True
> > > > End Function
> > > >
> > > > But I get an error, "The Macro 'personal.xla!IsOpenWB' cannot be found.
> > > > Ideas?
> > >
> > > --
> > >
> > > Dave Peterson
> > >
>
> --
>
> Dave Peterson
>
|