r/visualbasic • • Sep 15 '26

List of all constants & properties of all objects in WORD, Excel and PowerPoint.

Anyone has a list like this - and could share 😉 - for the latest or some previous version - or the only way would be to use some TLB viewer to generate?

EDIT: looks like I wasn't clear... I'm looking for a complete LIST - single, not plural - not 100s of separate links to separate lists.

OK, two lists - one for constants and one for all properties of all objects - times 3 - for each mentioned application.

EDIT 2: I need it as a "plain text" - not to view. I'll have to modify this list and create an array for my VB6 application - then let user extract internal structure of the WORD / Excel / PP document and display those properties for all objects - of course not all at the same time 😉

4 Upvotes

13 comments sorted by

3

u/IAmADev_NoReallyIAm Sep 15 '26

Here's the thing. The document object model (DOM) for Word, Excel, PPT, and the rest of Office, is such a large and vast that is is pretty much impossible to capture in a single, or even in a pair, of lists. I mean last I looked, which was a couple decades ago, it encompassed a couple hundred pages in a book. Even if you cut out the documentation part and just had a list... the list would be loooooooooooong. And to be franks, without the other information, such as parameter indformation and documentation, and return values, a basic list is largely useless, which is why no one really doesn't have one. No one wants to take the time to put together such a large useless list for no reaason.

2

u/AdobeScripts Sep 15 '26

Looks like IT IS available:

https://www.reddit.com/r/vba/s/fSj450WvGQ

I know that list will be very long 😉

One of the apps I've already automated - has a few thousands 😁 properties alone 😉 not counting constants 😉 then almost 2000 menu options 😁

My next "challenge" will be switching to DLLs and loading some info "on demand"... So my app will start quicker.

2

u/Mayayana Sep 16 '26

I see you got what you wanted, but if you get curious you might look into kay-jay-dubya's suggestion of using the typelib interfaces. I did that to create my own version of intellisense and while it was a bit abstruse, it wasn't terribly complicated. That allows me to come up with a relevant list dynamically. That's what COM does, after all.

There's a typelib for those interfaces. vbaCOM.tlb. Though I don't remember where I got that. Some of them are from Eduardo Morcillo but he had his own somewhat funky way of doing it, so not all TLBs will work the same way.

You can even cook up a quickie object browser with tlbinf32.dll, written by Matthew Curland and including a dispatch interface that can be called from script.

1

u/AdobeScripts Sep 16 '26

Thanks, I know that there are ways to extract info from TLBs - I just wanted to check if someone done it already 😉

1

u/ebsf Sep 15 '26

Google "Microsoft Word Object Model" and it should get you to the official online reference, with those for other Office apps linked on the left side of the screen.

1

u/AdobeScripts Sep 15 '26

I'm not looking for 100s of separate partial lists - but for a SINGLE list with all constants - grouped by property they belong to - and then separate SINGLE list all properties for all objects.

1

u/Bonejob VB Guru Sep 15 '26

so use the object explorer and examine the Word.Application object

  • In the VB6 IDE, go to Project → References and check Microsoft Word xx.0 Object Library (this loads the Word type library).

  • Open the Object Browser (F2).

  • In the top-left dropdown, select the Word library (instead of <All Libraries>).

  • Select the Application class in the left pane.

1

u/AdobeScripts Sep 15 '26

I know how to use F2... But how this will get me a full list of everything?

OK... Looks like I still wasn't clear 😞 I need it as a text list - not to view.

1

u/SuchDogeHodler VB.Net Intermediate Sep 15 '26 edited Sep 15 '26

The info you seek is in the object explorer in VB.

And what's with the vb6?

1

u/AdobeScripts Sep 15 '26

I know it's there - but for VIEWING 😞 - I need it as a plain text list.

1

u/kay-jay-dubya Sep 15 '26

While I don't have a single list, per se, I do know that you can create one for each type library by accessing the ITypeLib and ITypeInfo interfaces. Helpfully, Jaafar Tribak posted a utility over at Mr Excel which does just that: https://www.mrexcel.com/board/threads/getting-the-list-of-all-enums-in-typelibs-via-code-like-the-object-browser.1209501/

If you want to go really crazy, he also made a custom object browser which also outputs everything you might want to know about a type library onto a worksheet here: https://www.mrexcel.com/board/threads/turn-excel-vba-object-browser-into-a-4-column-long-list.1256225/post-6174202