View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Excel 2000 - Which VBA project is ActiveProject?

I gave you the correct answer. It isn't a bug - it is the way it works.
As I said, there is no correlation between the activeproject and the
activeworkbook. I believe the article is refering to the ActiveProject as
the ActiveWorkbook creating your confusion.

You might note, that in the article at the start of the routine, they
specifically name the workbook.

If you want the project of the ActiveWorkbook (as opposed to the workbook
running the code - but the workbook running the code might be the
activeworkbook as well)

ActiveWorkbook.VBProject

if you want the workbook running the code:

ThisWorkbook.VBProject

Your experience proves that the ActiveProject and ActiveWorkbook are not
correlated.

--
Regards,
Tom Ogilvy



Lizzie wrote in message
...

Ahem - ignore previous reply.
I was unsure why it worked ok in Office 97 but not in 2000.
Browsing MS I did find an article
http://support.microsoft.com/?kbid=260993 that suggests
that one should use
Application.VBE.ActiveVBProject.VBComponents if you want
to refer to the project of the active workbook. I'm just
not sure why my workbook is not seen as the active one
during the running of the code.

-----Original Message-----
Just like you can have calculation going on in a sheet

that is not the
activesheet or run code on such sheets/workbook, the

activeproject has no
correlation to the code that is running. Use

thisworkbook.VBProject

--
Regards,
Tom Ogilvy

Lizzie wrote in message
...
Hi.

When you open Excel 2000, it opens a default blank
worksheet.
If I then open a worksheet containing VBA code, and run
the code, why does Excel still think that

Application.VBE.ActiveVBProject

is the project belonging to the default blank sheet, and
not the one belonging to the activeworkbook ?

Is this a bug? I can't see how, when code is actually
running, the project running that code is not seen by

VBA
as the ActiveProject.



.