An MSForms (all VBA) treeview
Pages in this article
Examples
This page displays some examples where our treeview has been used.
RefTreeAnalyser
Our RefTreeAnalyser also implements the treeview control, as you can see here:
The City Of Amsterdam
The Engineering Desk of the City of Amsterdam has implemented our Treeview in a VBA driven tool which is used by the technical designers of the Engineering desk so their drawings comply with the Dutch CAD standard NLCS. This is what the treeview looks like in their software:
Extended Project Explorer
(by Peter Thornton)
The purpose of this file is to show a few ways how the VBA Treeview can be used in a real life app. The treeview lists projects and modules similar to the VBE's (Visual Basic Editor) Project Explorer, but the branches are extended to list procedures and declarations. These can be double clicked and in turn activated in the VBE.
Other features include routines to search the treeview, return details of the treeview to a sheet to document projects, and more. Please refer to the main demo files for the most recent version of the VBA Treeview.
It looks like this:
Access and Word users: please note documentation is included in the main Excel demo.
Download The Extended Project Explorer V1.0 (Updated Dec 04, 2013, downloaded: 6.813times)
Access Archon article
Description: Helen Feddema from Access Watch published an Access Archon article with a sample .accdb database using the Treeview alternative that works in 64-bit Office; also includes a sample .mdb database that uses the native Treeview control.
Access database analyzer utility
This is a screen-shot provided to us by John Bourne of the object relationships tree in his Access project analyzer utility
XER toolkit
The XER Toolkit is an MS Excel based application that can read, display and analyse data from Oracle's Project Management application, Primavera. The toolkit helps to improve the quality of project schedules by providing visibility without the requirement for (expensive) Primavera licences. As an enterprise system, the data within Primavera is hierarchically arranged and so the Treeview developed by JKP has become an integral and essential part of the toolkit's data access functionality. See the video. One of the screens in the tool:
Spanish diseases classification list
From Diego Pereira: This treeview loads the International Classification of Diseases in Spanish. By entering a word, a part of a word or a ICD10 code, one can locate matching nodes, highlight them and expand them. The main purpose of this example is to serve as a simple implementation of the Treeview in an Access style.
Download the sample Access accdb database (05 Mar 2014, downloaded 5.031 times)
Sheet navigation tool
Yves Leboutte sent us these screenshots:
Go To sheet: Allows to jump to worksheet < List of countries
Go To Item: To jump to 1 item (rows)
Item Selection: Allows to save options to some items in 1 or all
childs sheets.
Filtered tree
Tiago Costa from EWEN Energy shared a treeview with us which the user can filter. The filtering is implemented quite simple by filtering the table containing the source data for the tree and rebuilding the tree after filtering using the filtered table (in a Worksheet). I particularly like the looks of the form, very "modern UI"-like:
Template system
FREE open source Access database for IT Asset Management purposes
Florian Rossmark created an IT Assets database, a free open source IT Assets management database project based on Microsoft SQL server as a back end and Microsoft Access as front end. The Wiki module in the database was accomplished by using the TreeView control for easy navigation through structured data controlled by the actual end user.
Peter Denney's showing a popup with more information pertaining to a node
Your implementation
We're always interested to see how people have implemented the VBA Treeview. So please feel free to send a screenshot with a brief description or relevant details.
Comments
Showing last 8 comments of 52 in total (Show All Comments):Comment by: Lakazet (28-10-2020 14:26:00) deeplink to this comment
yes I do it but since I am a beginner, I didn't understanding
Comment by: Jan Karel Pieterse (28-10-2020 15:21:00) deeplink to this comment
Hi Lakazet,
If you're willing to pay for some consulting we might me able to help out?
Comment by: karim (31-3-2022 07:01:00) deeplink to this comment
treeview to access
Comment by: Jan Karel Pieterse (31-3-2022 10:28:00) deeplink to this comment
Hi Karim,
What is your question please?
Comment by: Meindert (25-6-2022 22:34:00) deeplink to this comment
Hi there,
Nice tool!
Is there a place where I can add standard (user defined) colors for checked and unchecked nodes?
Greetings
Meindert
Comment by: Jan Karel Pieterse (26-6-2022 16:05:00) deeplink to this comment
Hi Meindert,
Not at my pc right now, but you could look in the clsTreeview class to see what it does when a node gets checked or unchecked. It should affect the relevant nodes and change their properties. There you can edit the code to set coloring accordingly.
Comment by: Bùi Van S? (23-1-2023 18:06:00) deeplink to this comment
Hi,
I'm from Vietnam. I downloaded the file "Treeview_ExtProjExpl" and used it. However, when extracting and clicking the "Extended Project Explorer" button has an error message like this: "Compile error: Type mismatch." And the VBE window points to the structure
I have read on many forums but there is no solution.
Hope to be of help. Thank you!
P/s: I use Windows 11 and Office 365, 64 bit.
My English is very limited, so I used Google Translate to help. Hope that the shortcoming will be understood and forgiven.
Comment by: Jan Karel Pieterse (24-1-2023 08:59:00) deeplink to this comment
Hi Bùi,
It is because the declaration of the variable lRet is not 64 bit Office compliant. Move its declaration to the conditional compile block immediately below where it is currently declared, like so:
Dim lRet As LongPtr
Dim hWndFGnd As LongPtr
Dim hWndExcel As LongPtr
Dim hWndParent As LongPtr
Dim hWndVBE As LongPtr
#Else
Dim lRet As Long
Dim hWndFGnd As Long
Dim hWndExcel As Long
Dim hWndParent As Long
Dim hWndVBE As Long
#End If
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.