Listing an Objects Properties and Methods
Introduction
If you do some VBA programming regularly, you'll be acquainted with the Object browser, which neatly shows you all objects, properties and methods belonging to any object in Excel (or any other library you have referenced in your VBA project).
Whilst this is a tremendous tool to look for information on just a couple of properties I find it not very handy when you e.g. need to get all of an objects properties into your VBA code.
So because I like a challenge I decided to build my own object browser, which is shown to you here.
What does it do?
This tool uses the tlbinf32.dll to fetch data from typelibraries. I grabbed some code from various places (amongst which Chip Pearson's great site and some newsgroup messages like this one) and created a userform with a treeview control (because this is the type of control that can show hierarchical information so nicely).
The help files of tlbinf32.dll can be downloaded here: tlbinf32.zip and the dll can be found here (not sure if you can use the download at will without any licensing issues though).
After downloading the dll it needs to be registered with windows:
Click Start, run and type:
regsvr32 c:\YourPathToThedll\tlbinf32.dll
Click OK. If successful, Windows will tell you it successfully registered the dll.
In its basic state, you select any object in Excel and start the tool, which will show you the first level set of objects, properties and methods of that selection. Here is what the UI looks like after starting the tool whilst you have a chart title selected:
Tool's main window, showing members of a ChartTitle object
And here is the same window after expanding two of the object's members:
Main window after double clicking "Border" and "Font" objects.
As you can see, it is really easy to get a list of all objects and properties of an object.
What's even better is that you can get them into Excel easily. Clicking the "Report" button yields a list of all objects in the current display. Below a portion of those is shown:
Result of clicking "Report".
You can imagine that now it is easy to copy this and paste it into the VBE to quickly create code that sets a lot of properties.
Download
I have made this tool available for download:
Comments
All comments about this page:
Comment by: chead5 (14-5-2007 07:06:34) deeplink to this comment
I seem to be missing the required dll that you mentiuoned in this article. Does anyone know where I can get a good copy of it?
Comment by: Dianne Butterworth (14-5-2007 08:06:40) deeplink to this comment
It looks like tlbinf32.dll might be a file installed with Visual Basic 6; it's not on my system.
The tool is a great idea though.
Comment by: Jan Karel Pieterse (14-5-2007 09:20:39) deeplink to this comment
Hi Dianne,
You're right of course. I have updated the text to add a download link to the tlbinf32.dll. I'm not entirely sure whether this download is permitted though.
Regards,
Jan Karel
Comment by: Pascal (16-5-2007 07:47:51) deeplink to this comment
Jan,
When I came across this page I recognised the potential usefulness of such a utility. You don't mind my adding it to my StumbleUpon firefox extension?
However..
I only get this:
[attempted to paste capture of window here, can't so it's here:
http://www.hotlinkfiles.com/files/27347_lw2vi/ObjLister.png ]
It shows only this:
ChartTitle
,
i.e. only a comma below 'ChartTitle'.
'Expand this' after highlighting it has no effect. Nor has any other button.
I have downloaded and properly placed tlbinf32.dll in c:\windows\system32 and it is seen as 'TypeLib information' in Tools|References in VBE.
I tried 'Show Help' but nothing happens. Does TlbInf32.chm need placing somewhere specific?
Thanks, Pascal
Comment by: Jan Karel Pieterse (16-5-2007 08:39:08) deeplink to this comment
Hi Pascal,
The fact that you can even run the tool indicates the tlbinf32.dll is found by Excel, so no problem there.
What happens if you select -say- a cell?
The chm file only contains help about the dll, pressing help should render help about the Excel object and does NOT require the chm file of the tlbinf32.
Comment by: Graham (16-5-2007 09:23:02) deeplink to this comment
Looks great Jan - is there a way of running this on Excel 2007?
Comment by: Pascal (16-5-2007 09:56:32) deeplink to this comment
Just the same except instead of 'ChartTitle', I get 'Range'
Pascal
Comment by: Jan Karel Pieterse (17-5-2007 02:01:09) deeplink to this comment
Graham: It works for me. You do have the dll setup, right?
Comment by: Jan Karel Pieterse (17-5-2007 02:02:23) deeplink to this comment
Pascal: No idea what gives, sorry. Maybe it needs "Trust access to visual basic projects" set? (tools, macro, security, trusted sources tab)
Comment by: Nick Hebb (18-5-2007 05:25:28) deeplink to this comment
Jan,
Thank you for this great tool. It will save me hours of time on a current project.
Version 4 suggestion: Add a option to exclude Parent from the Expand feature. It takes a while to expand, and I'm guessing that a good chunk of the time is for the Parent properties, which most users of the tool probably wouldn't be interested in.
Comment by: Jan Karel Pieterse (18-5-2007 06:37:33) deeplink to this comment
Hi Nick,
You're welcome. As for the parent object: It should step over that one, might be I disabled a relevant piece of the code in troubleshooting other stuff <smile>
Comment by: xMRG (21-5-2007 23:13:01) deeplink to this comment
I get the same error as Pascal.
I commented out the On Error Resume Next line in Sub IterateMembers(). The following error is generated when selecting the Chart Object and pressing Ctrl + Alt + o.
Simple Object Browser: Error message
Oops, An error has occurred in Simple Object Browser
Error:
Error 429: ActiveX component can't create object in IterateMembers.Class Module clsAnalyseObject
Don't know if this helps identify why this tool does not work for Pascal and me.
Comment by: Jan Karel Pieterse (22-5-2007 02:51:40) deeplink to this comment
Hi Pascal and xMRG,
The problem seems to indicate the tlbinf32.dll has not been properly set up.
Comment by: PM (22-5-2007 08:02:09) deeplink to this comment
To solve the problem with tlbinf32.dll and error 429, fire up the command prompt and enter the following line:
regsvr32 c:\windows\system32\tlbinf32.dll
A popup window should open saying:
DllRegisterServer in c:\windows\system32\tlbinf32.dll succeeded.
That's it.
Comment by: xMRG (22-5-2007 09:37:30) deeplink to this comment
Looks great! I got it to work.
Pascal, do this
Go to the Start menu and select Run
Type the following line into the ComboBox
regsvr32 tlbinf32.dll
Press Ok and it should work.
BTW, I put the tlbinf32.dll in
C:\WINDOWS\system32
Hope this helps.
Comment by: Jan Karel Pieterse (22-5-2007 10:07:45) deeplink to this comment
Hi xMRG, Pascal,
Thanks for sharing the solution guys.
I had planned to add this information but you guys beat me to it!
Comment by: Jim McClelland (24-5-2007 14:57:23) deeplink to this comment
I am struggling with an issue which seems related to this thread. I am trying to determine a simple way to assign an object to another object. IOW, I'd like to copy all of the properties of one object to another one. For example, in VBA, copying the guts of one "FormatCondition" object to a new FormatCondition. Have any of you encountered this issue before?
Comment by: Jan Karel Pieterse (24-5-2007 21:22:19) deeplink to this comment
Hi Jim,
Yes I have and the tool is very useful for that. You must however do this manually.
Open the module modMain and modify this line in StartForm:
Set .ObjectToList = Selection
to:
Set .ObjectToList = Selection.FormatConditions(1)
Select any cell with a CF and run the ObjectLister tool.
Expand the found list down to its deepest level (2 I think) and click report.
From there you can use Excel formulas to build your code.
Comment by: Troy (17-12-2007 07:44:05) deeplink to this comment
Incredible tool! This was obviously a huge amount of work!
However, I don't see the methods (e.g. Range.Activate; or Range.Columns.Autofit)???
Comment by: Jan Karel Pieterse (17-12-2007 11:32:38) deeplink to this comment
Hi Troy,
Indeed, it only shows properties and sub-objects. Methods are omitted. Shouldn't be very hard to add though.
I'll leave that as an exercise for you :-)
Comment by: Dean (8-1-2008 19:59:35) deeplink to this comment
Great piece of kit. Infinitely useful when trying to track down tricky properties.
Comment by: Hal (16-2-2008 17:04:15) deeplink to this comment
Is there a virus in ObjectLister 003.xls
??
While running control-alt-O after selecting your demo chart, and auto expanding to the maximum depth (5?) I found the code after a couple of minutes elicited symptoms of a virus (?)that was trapped by Outlook warning me that a program was trying to read the address book.
Comment by: Jan karel Pieterse (17-2-2008 03:59:48) deeplink to this comment
Hi Hal,
I just checked Objectlister 32 using Nod32:
Scanned disks, folders and files: C:\data\ObjectLister\ObjectLister 003.xls
Number of threats found: 0
Comment by: Eric (14-3-2008 15:25:40) deeplink to this comment
Excellent work, once again.
Is there an Object that corresponds to current Watches in the VBE?
If there was, I'd like to change (in my copy) "Selection" in the "Set .ObjectToList = Selection" line to whatever it would be. Of course, I could do it one-by-one, but it would be more convenient if there was a Watches object.
Comment by: Jan karel Pieterse (16-3-2008 22:13:37) deeplink to this comment
Hi Eric,
No, I don't think there is.
Comment by: Bruno (16-5-2008 12:56:08) deeplink to this comment
Hallo Jan,
a really wonderful tool - it works perfect on the Excel-sheet and helps to save a lot
of time. Many thanks for your work!
Does there exist a similar tool for the VBE-objects of a userform?
Comment by: Jan Karel Pieterse (18-5-2008 03:12:49) deeplink to this comment
Hi bruno,
No, but you do not need a separate tool. You can insert a userform in the
objectlister VBAProject with just one control (the one you want listed) and change
the routine in modMain like this:
Change this line:
Set .ObjectToList = Selection
To:
Set .ObjectToList = UserForm1.Controls(1)
Comment by: Bruno (18-5-2008 15:00:20) deeplink to this comment
Hello Jan,
many thanks for your help.
I have tried your instructions with the sample userform1 within your object lister
Project and changed the above mentioned line. I started "startform", but it produces
the following error:
Error -2147024809; Ungültiges Argument in Startform.Module.modMain
and the procedure stopped in the changed line.
Do you have any idea?
At the moment it would be very helpful for me, because Excel produced an error in my
program (the exit-event will not be fired anymore in my existing userforms), so i
have to build them again).
Greetings from the Allgäu
Bruno
Comment by: Jan Karel Pieterse (18-5-2008 23:58:35) deeplink to this comment
Hi Bruno,
Sorry, I did not test the code. This does work with a commandbutton called
CommandButton1 on the form called Userform1:
Set .ObjectToList = UserForm1.CommandButton1
Comment by: Go (5-3-2009 19:17:20) deeplink to this comment
Hi..
i'm rookie in this vb things, it's very confusing. From your creation here, does it use only for charting? what about other objects and their properties? can i get the explanation of them (so it would not just a list)?
very appreciate what you've done
Comment by: Jan Karel Pieterse (6-3-2009 02:40:42) deeplink to this comment
Hi Go,
To be honest I don't think this utility is the best place to start learning VBA. Excel VBA Help is a better place to start and the object browser (F2 from the editor) is also a good resource.
Also, I'd avise you to go to the library and get yourself a good book on VBA. For beginners, the dummies series are a good start.
Comment by: Narendra (26-6-2009 01:48:19) deeplink to this comment
I see that Articles on your page are split in Steps by Step Procedures, each located on a different page.
It will be better to use a "one page per article" concept.
For browsing on a long page one can always use, tags/bookmarks & "Back to Top" at each topic end.
Just a suggestion.
Regards,
Narendra.
Comment by: Jan Karel Pieterse (26-6-2009 04:01:27) deeplink to this comment
Hi Narendra,
Thanks for your comment.
There is something to say for either method. Personally I prefer shorter pages (in general) over long pages with bookmarks. And short pages load faster.
Comment by: Mark Aldous (22-7-2009 04:12:06) deeplink to this comment
Hi,
your sample app is almost perfect for my needs, but there is one extra bit I am trying to figure out. As part of the development process of my app I want to report to a log file the names and values of properties of numerous classes. This is all working well until the class contains a collection of another class. Can you give some advice on how to get the objects from the collection and add them to log.
Below is my code for now
many thanks
Mark
Public Function GetObjectProperties_v2(ByVal Obj As Object) As String
Dim cObjAnalyser As clsAnalyseObject
Dim cFoundMember As clsFoundMember
Dim sReturn As String
sReturn = vbNullString
Set cObjAnalyser = New clsAnalyseObject
With cObjAnalyser
Set .ObjectToList = Obj
.Root = True
.IgnoreParentAndApplication = True
.IterateMembers
End With
If Not cObjAnalyser.PropsAndObjects Is Nothing Then
For Each cFoundMember In cObjAnalyser.PropsAndObjects
If cFoundMember.IsObjectOrCollection Then
sReturn = sReturn & " <" & cFoundMember.Name & "(" & CStr(cFoundMember.TypeName) & ")" & ">"
Debug.Print cFoundMember.Name & "(" & CStr(cFoundMember.TypeName) & ")" & ">"
' now I need to get child objects from the collection and report the properties for each object
Else
sReturn = sReturn & " <" & cFoundMember.Name & "=" & CStr(cFoundMember.value) & ">"
Debug.Print vbTab & cFoundMember.Name & "=" & CStr(cFoundMember.value) & ">"
End If
Next
End If
End Function
Comment by: Jan Karel Pieterse (22-7-2009 05:17:38) deeplink to this comment
Hi Mark,
Not sure if this will work, but you might try recursing the function and adding an optional argument which adds some text if the function has been used recursively:
Dim cObjAnalyser As clsAnalyseObject
Dim cFoundMember As clsFoundMember
Dim sReturn As String
sReturn = vbNullString
Set cObjAnalyser = New clsAnalyseObject
With cObjAnalyser
Set .ObjectToList = Obj
.Root = True
.IgnoreParentAndApplication = True
.IterateMembers
End With
If Not cObjAnalyser.PropsAndObjects Is Nothing Then
For Each cFoundMember In cObjAnalyser.PropsAndObjects
If cFoundMember.IsObjectOrCollection Then
sReturn = sReturn & " <" & cFoundMember.Name & "(" & CStr(cFoundMember.TypeName) & ")" & ">"
Debug.Print cFoundMember.Name & "(" & CStr(cFoundMember.TypeName) & ")" & ">"
If cFoundMember Is Collection Then '<-----please check, this may be wrong!
GetObjectProperties_v2 cFoundMember, sText2Add & " " & cFoundMember.Name & ":"
End If
' now I need to get child objects from the collection
' and report the properties for each object
Else
sReturn = sReturn & " <" & cFoundMember.Name & "=" & CStr(cFoundMember.Value) & ">"
Debug.Print vbTab & cFoundMember.Name & "=" & CStr(cFoundMember.Value) & ">"
End If
Next
End If
End Function
Comment by: Mark Aldous (22-7-2009 06:15:39) deeplink to this comment
Hi Jan,
thanks for the reply.
I changed your class (clsAnalyseObject) so that it returned "_Collection" for the type name (cFoundMember.TypeName = mMember.ReturnType.TypeInfo.Name).
Unfortunately when I then tried to call it recursively it was sending through the cFoundMember object not the child object of the collection.
A simple example of what I am trying to read is as follows.
objClass1
propName
colChildren
objClass2
propId
objClass2
PropId
For now I am going to call the objects in the child collections through type specific subs. I will try to investigate further at a later date and let you know of any progress.
many thanks
Mark
Comment by: Stephen (4-8-2009 07:53:16) deeplink to this comment
What are the prerequsities for this to run? I had it running on Windows XP SP3 but after I reimaged my machine it no longer works. I receive the a compile error, "Can't find project or library" at the subroutine, "Private Sub AddObjectToTree(oObj As Object, nNodeToAdd2 As MSComctlLib.Node, bRoot As Boolean, IgnoreParentAndApp As Boolean)".
Comment by: Jan Karel Pieterse (7-9-2009 08:59:55) deeplink to this comment
Hi Stephen,
See the "What does it do" section for instructions on what you need to make it work.
Comment by: prasuraRaprit (9-4-2011 12:51:55) deeplink to this comment
Use the Move tool (V) to move it off into the bottom-left corner.
Comment by: Rob Manner (24-5-2012 15:17:12) deeplink to this comment
Jan,
I am fascinated by this Object Browser, but can't get it to work in Excel 2010 with Windows 7. I have installed DLL and all, but wanted to check with you first before providing error messages etc., as it looks like there have not been any comments in a long while. Perhaps the browser is no longer maintained.
Many thanks,
Rob
Comment by: Jan Karel Pieterse (25-5-2012 01:59:45) deeplink to this comment
Hi Michael,
The site is still very much alive, it is just that this particular page isn't commmented on much.
I wouldn't know why the tool doesn't work for you, please send me a direct email with some screenshots, so we can have a look.
Comment by: Walter, Rauschenberger (29-5-2012 18:54:53) deeplink to this comment
Hi Michael,
I was looking for pretty much the same but a bit simplier so that I can use it directly in my project for analysing one specific object on a user form. I am wondering how I can achieve this with your solution. I.e. the output (property and value) with Debug.Print would be the means of choice.
Do you see any chance to change yor solution so that it works without the userform and it does not write the result to a worksheet?
Best regards
Walter
Comment by: Jan Karel Pieterse (30-5-2012 07:01:48) deeplink to this comment
Hi Walter,
If you look at the sub called "AddObject2Tree" you can see how the class module that handles the listing of an object is put to use. You can easily copy out this sub to a normal module and adjust it so it lists them in the immediate pane.
Comment by: Jan Karel Pieterse (30-5-2012 07:07:26) deeplink to this comment
Hi Walter,
If you look at the sub called "AddObject2Tree" you can see how the class module that handles the listing of an object is put to use. You can easily copy out this sub to a normal module and adjust it so it lists them in the immediate pane.
Comment by: juwen (7-6-2012 11:02:22) deeplink to this comment
Hi,All
My download file in this:
https://jkp-ads.com/downloadscript.asp?filename=Objectlister.zip
the tlbinf32.dll be registered with windows is successfully.
open the ObjectList 003.xls and hit ctrl+alt+o have show Run-time error:'13' Type Mismatch”
office 2010 in windows 7 to run the ObjectList 003.xls file
Comment by: Jan Karel Pieterse (7-6-2012 14:13:23) deeplink to this comment
Hi Juwen,
Two questions:
1. Which object was selected when you pressed the shortcut key?
2. Which line of cod eis highlighted if you click Debug?
Comment by: juwen (8-6-2012 02:48:27) deeplink to this comment
Hi,Jan
How to select an object?
Can you tell my how to use ObjectList 003.xls?
Comment by: Jan Karel Pieterse (8-6-2012 12:00:04) deeplink to this comment
Hi Juwen,
You select an object by just clicking on it in Excel. Then use the short-cut key menitoned in the tool.
Of course you have to download and register the tlbinf32.dll first, like I described above.
Comment by: juwen (9-6-2012 03:52:53) deeplink to this comment
Hi Jan,
1. I don't know which object I have to select.
Can you give me a specific example, please?
2. When I click Debug,the line of codeis highlighted is
"Set vReturn = tliApp.InvokeHook(ObjectToList, mMember.MemberId, INVOKE_PROPERTYGET)" in sub IterateMembers
Comment by: Jan Karel Pieterse (9-6-2012 20:58:16) deeplink to this comment
Hi Juwen,
You select the object (in Excel) from which you want to show the properties.
Comment by: Young7 (6-2-2013 04:22:06) deeplink to this comment
Thank you very much for this tool!
I know the tool is set up to work on visible objects, but I modified it to work with other (invisible) objects.
For example, let’s say I set “test” to “Internetexplorer.application”… I can send that object to your tool and it shows me the properties. Very cool!
You have me wondering if I can use this in VB6 also. This tool displays needed information in a very useful format.
I just changed your “StartForm” routine to accept an object. I also changed the “Set.objectToList=selection” to set.objecttolist=obj (the object I send it).
Excellent work!
Comment by: Joe Anderson (22-6-2013 02:07:53) deeplink to this comment
I used your ObjectLister extensively with Windows Vista. I now have Windows 7 with Excel 2010 and cannot get ObjectLister to work. I get a compile error: "Method or data member not found" on this line of the Sub StartForm:
Have tried lots of different things, un-/re-register DLL, etc. but am stumped.
Yours is a great tool, which I hope to continue to use. I would be grateful for any advice.
Joe
Comment by: Jan Karel Pieterse (24-6-2013 13:38:26) deeplink to this comment
Hi Joe,
Hard to say what's wrong, most likely the dll has not been properly registered. You may have to also change the references in the VBA project of the Excel demo file I created to make sure it points to the installed dll.
I expect you'll have to run the registration as an administrator to make it "stick".
Comment by: Gomel (10-7-2013 22:01:53) deeplink to this comment
Hello, do you have same project for powerpoint 2010 64bit?
thanks
Comment by: Jan Karel Pieterse (11-7-2013 21:18:52) deeplink to this comment
Hi Gomel,
Not needed. You can add a reference to the Powerpoint object model in Excel VBA and then set an object variable to the object you want to look at. But you also need to start PPT form Excel VBA and make sure that object in question is in the current presentation, so you can actually set the object variable to that item.
Comment by: PJ in FL (17-3-2014 16:04:25) deeplink to this comment
Just a note to say I had difficulty downloading the DLL from the link provided.
However, the file is included in the COM Add-In Installer package downloadable from Chip Pearson's "Creating A COM Add-In In Visual Basic 6" page, located at this link address: http://www.cpearson.com/excel/ComAddInInVB6.htm
Personally, I cringe when I need to download a DLL or other active component from a location I don't know, so finding the file on Chip's site was a welcome relief!
Comment by: George Skelton (25-5-2014 16:56:12) deeplink to this comment
Hi, I'm trying to get this working with 64-bit Excel on Windows 7 Excel 2010. I have tlbinf32.dll saved in C:\Windows\System32, I run regsvr32 from there and get "DllRegisterServer in TLBINF32.DLL succeeded". However when I try to add the Reference in VBA, I browse, select the dll and click open but it won't appear in the Available References list with a checkmark (but there is no error message).
If on the other hand I put tlbinf32.dl in C:\Windows\SysWOW64 and register it there, then I can add the reference but when I try to use it I get Run-time error '429': ActiveX component can't create object
Comment by: Jan Karel Pieterse (25-5-2014 17:00:20) deeplink to this comment
Hi John,
The tlbinf32.dll is 32 bit, which means it will not work with 64 bit Office I'm afraid.
Comment by: Lisa Green (2-4-2015 16:48:03) deeplink to this comment
Hi Jan Karel,
I'm trying to use this to show a UserForms properties.
Is that possible please?
TIA
Lisa
Comment by: Jan Karel Pieterse (3-4-2015 16:23:50) deeplink to this comment
Hi Lisa,
Odd enough I cannot get it to list properties and methods of a userform. I tried:
to no avail.
This also does not really give anything helpful:
Set uf = New ufObjBrowser
'other code
Set .ObjectToList = uf
However, as soon as I pass a control I get the associated properties:
Set uf = New ufObjBrowser
'other code
Set .ObjectToList = uf.cmbClose
Comment by: Lisa Green (3-4-2015 18:37:51) deeplink to this comment
Thanks for trying Jan Karel...
Did you get the properties for the userform or the command button?
My aim is to get a list of built in events and then use your performance code in each to log performance and to tell which events fire when.
Lisa
Comment by: Jan Karel Pieterse (3-4-2015 19:25:15) deeplink to this comment
Hi Lisa,
No just the control properties. As far as I recall, the object lister ignores events.
Comment by: Lisa Green (3-4-2015 22:28:28) deeplink to this comment
I'm wondering if it's a problem with "windows"... AFAIK an object like a command button is actually a window while a userform is contained within a window... and no... I'm not sure about what I'm saying!!! :-)
Shame about not listing events... Googling and following links for a loooooooong time is't helping.. :-( I've managed to get lists of events from various sites but some of the lists miss some events that I know exist and some include events I know... I think I know.. are spurious.
It seems the best way so far is to go to the VBE and womanually write down the events from a drop down box!!!
It's an old story I think Jan Karel... They're somewhere ... otherwise the listbox would be up the spout... ut where!!???
Lisa
Comment by: Jan Karel Pieterse (5-4-2015 15:04:46) deeplink to this comment
Hi Lisa,
I'm afraid that is the only way I see right now.
Comment by: shg (11-11-2015 20:47:39) deeplink to this comment
Jan Karel,
After copying the dll, when I run regsvr32 C:\Windows\System32\TLBINF32.DLL, I get
The module "C:\Windows\System32\TLBINF32.DLL" failed to load. Make sure the binary is stored at the specified path [it is] ... The specified module could not be found."
W7 64 bit, Excel 2010 32 bit.
Is it obvious what I'm fat-fingering?
Comment by: Jan Karel Pieterse (12-11-2015 11:03:50) deeplink to this comment
Hi shg,
To be honest, I haven't touched this in a long time and I forgot how I set this up on my system! The file itself is both in my Documents folder somewhere and in the C:\Windows\SysWOW64 folder and it works as expected so I guess I somehow managed to register the dll successfully.
Perhaps registering it from the C:\Windows\SysWOW64 folder should work (remember to run cmd as an admin!)
Comment by: shg (12-11-2015 16:58:37) deeplink to this comment
I will try that, thank you.
Comment by: David Miley (1-6-2019 17:46:00) deeplink to this comment
Will this work on custom objects (i.e. classes that I have created)?
Comment by: Jan Karel Pieterse (3-6-2019 09:38:00) deeplink to this comment
Hi David,
I don't know, perhaps you should just try?
Comment by: Romulus Milea (26-3-2024 12:49:00) deeplink to this comment
Hello Jan,
Can this tool be used to generate a huge list in Excel, for all libraries, for all classes, and also for all members of each class, with no connection to any project ?
With other words, can this tool dump all objects from Excel Object Browser, in a form of a list with 4 columns: Library, Class, Member and Type (Function, Sub, Enum, Property, Constant, etc.) ?
I need this list for a personal project. I have created a thread on www.MrExcel.com forum, and RoryA suggested this WebPage, of yours :-))).
Thank you !
Comment by: Jan Karel Pieterse (26-3-2024 16:03:00) deeplink to this comment
Hi Romulus,
Theoretically, yes. I built the tool to get a list of all properties and methods of a given object. If you let it do the application, it will take a huge amount of time to complete.
Comment by: Romulus Milea (26-3-2024 16:11:00) deeplink to this comment
Hello again,
Thank you ! Can you maybe suggest how can I step by step configure/use this tool to generate that list of all possible components of entire Excel application ? I can wait for it, to complete everything :-))).
Thank you once again !
Comment by: Jan Karel Pieterse (26-3-2024 16:27:00) deeplink to this comment
Hi Romulus,
I think you will find this workbook isn't necessarily ready to do a thing like that. I used to to list all properties and methods of a specific object, doing the entire application is not something it can do reliably I suspect.
Comment by: Romulus Milea (27-3-2024 07:51:00) deeplink to this comment
Thank you for your answer. Please help me to find out how this shall be done step by step, and I will give it a try.
Comment by: Jan Karel Pieterse (27-3-2024 16:27:00) deeplink to this comment
Hi Romulus,
Please get hold of me through email (address at the bottom of this page)
Have a question, comment or suggestion? Then please use this form.
If your question is not directly related to this web page, but rather a more general "How do I do this" Excel question, then I advise you to ask your question here: www.eileenslounge.com.