Skip to content

Commit ffda59d

Browse files
authoredMar 7, 2023
Awesome Submission prep (#13)
1 parent e8ff43f commit ffda59d

File tree

2 files changed

+54
-49
lines changed

2 files changed

+54
-49
lines changed
 

‎README.md

+54-49
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1-
# awesome-vba
1+
# Awesome VBA ![VBALogo](./resources/VBALogo.png) [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)
22

3-
## A note on symbology
3+
Visual Basic for Applications (VBA) is an implementation of Microsoft's event-driven programming language Visual Basic 6.0 (VB6) built into most desktop Microsoft Office applications.
44

5-
To help you in finding projects suitable for you, this awesome list uses the following symbology. The symbology also has tooltips which may provide more information.
5+
This is a curated list of Libraries and Resources for both VBA and VB6.
6+
7+
## Symbology
8+
9+
Because of the nature of VBA, many libraries do not work on all Operating Systems, in all Office Applications or in all architectures(x64/x86). Some libraries may also require external resources (DLL, Addins, etc.) which can be difficult to use due to VBA's lack of a package manager. To help you in finding projects suitable for your needs, this awesome list uses the following symbology. The symbology also has tooltips which may provide more information.
610

711
#### Platform Compatibility
812

@@ -46,46 +50,46 @@ To help you in finding projects suitable for you, this awesome list uses the fol
4650

4751
## Contents
4852

49-
- [awesome-vba](#awesome-vba)
50-
- [A note on symbology](#a-note-on-symbology)
51-
- [Platform Compatibility](#platform-compatibility)
52-
- [Application compatibility](#application-compatibility)
53-
- [Other important information](#other-important-information)
54-
- [Contents](#contents)
55-
- [Frameworks](#frameworks)
56-
- [Libraries](#libraries)
57-
- [Data Formats](#data-formats)
58-
- [JSON](#json)
59-
- [CSV](#csv)
60-
- [XML](#xml)
61-
- [Data Structures](#data-structures)
62-
- [Array-List](#array-list)
63-
- [Dictionary](#dictionary)
64-
- [Math libraries](#math-libraries)
65-
- [Database tools](#database-tools)
66-
- [Userform tools](#userform-tools)
67-
- [Low level tools](#low-level-tools)
68-
- [Parsers / Interpreters](#parsers--interpreters)
69-
- [Web tools](#web-tools)
70-
- [Developer tools](#developer-tools)
71-
- [Examples](#examples)
72-
- [UI Ribbon](#ui-ribbon)
73-
- [UI Userforms](#ui-userforms)
74-
- [Low Level Examples](#low-level-examples)
75-
- [VBE UI](#vbe-ui)
76-
- [AddIns](#addins)
77-
- [Games / Fun projects](#games--fun-projects)
78-
- [External tools](#external-tools)
79-
- [Style Guides](#style-guides)
80-
- [Information](#information)
81-
- [Resources](#resources)
82-
- [Websites](#websites)
83-
- [Books](#books)
84-
- [Youtube](#youtube)
85-
- [Forums](#forums)
86-
- [Contributing](#contributing)
87-
88-
------
53+
* [awesome-vba](#awesome-vba)
54+
* [A note on symbology](#a-note-on-symbology)
55+
* [Platform Compatibility](#platform-compatibility)
56+
* [Application compatibility](#application-compatibility)
57+
* [Other important information](#other-important-information)
58+
* [Contents](#contents)
59+
* [Frameworks](#frameworks)
60+
* [Libraries](#libraries)
61+
* [Data Formats](#data-formats)
62+
* [JSON](#json)
63+
* [CSV](#csv)
64+
* [XML](#xml)
65+
* [Data Structures](#data-structures)
66+
* [Array-List](#array-list)
67+
* [Dictionary](#dictionary)
68+
* [Math libraries](#math-libraries)
69+
* [Database tools](#database-tools)
70+
* [Userform tools](#userform-tools)
71+
* [Low level tools](#low-level-tools)
72+
* [Parsers / Interpreters](#parsers--interpreters)
73+
* [Web tools](#web-tools)
74+
* [Developer tools](#developer-tools)
75+
* [Examples](#examples)
76+
* [UI Ribbon](#ui-ribbon)
77+
* [UI Userforms](#ui-userforms)
78+
* [Low Level Examples](#low-level-examples)
79+
* [VBE UI](#vbe-ui)
80+
* [AddIns](#addins)
81+
* [Games / Fun projects](#games--fun-projects)
82+
* [External tools](#external-tools)
83+
* [Style Guides](#style-guides)
84+
* [Information](#information)
85+
* [Resources](#resources)
86+
* [Websites](#websites)
87+
* [Books](#books)
88+
* [Youtube](#youtube)
89+
* [Forums](#forums)
90+
* [Contributing](#contributing)
91+
92+
---
8993

9094
## Frameworks
9195

@@ -166,6 +170,7 @@ To help you in finding projects suitable for you, this awesome list uses the fol
166170
* [🖼][p_win][][a_all] [Safe Subclassing](https://www.mrexcel.com/board/threads/intercepting-resetting-of-vba-editor-as-well-as-unhandled-errors-for-safe-subclassing.1024295/) - Provides the ability to subclass Excel/Word/Powerpoint window or Userforms to perform further automation. In the later threads there is also an example for subclassing other windows from other applications.
167171
* [🖼][p_win][][a_all] [Calling private module functions](https://codereview.stackexchange.com/questions/274532/low-level-vba-hacking-making-private-functions-public)
168172
* [🖼][p_win][][a_all][🏺][o_32] [Universal DLL Calls](http://www.vbforums.com/showthread.php?781595-VB6-Call-Functions-By-Pointer-(Universall-DLL-Calls)) - A library which can be used to call functions of any function pointer, DLL or object in both `STDCALL` and `CDECL`.
173+
* [👑][p_all][][a_all] [VBA state-loss callback](https://github.com/cristianbuse/VBA-StateLossCallback) - A crash free detector for VBA state-loss. State loss can occur when: Someone clicks `end` in an unhandled error; You click the VBA stop button; You enter design mode; Application exits.
169174
* From Frameworks:
170175
* [🖼][p_win][][a_all] In `stdVBA` find `stdCOM` - A one stop shop for COM automation, from invoking interfaces by offsets to extracting type information.
171176

@@ -188,7 +193,7 @@ To help you in finding projects suitable for you, this awesome list uses the fol
188193

189194
* [🖼][p_win][][a_all][💣](# "Requires installation") [Rubberduck](https://rubberduckvba.com/) - An open-source COM add-in project that integrates with the Visual Basic Editor to add modern-day features to the familiar IDE. Works in VBA6, VBA7.x (x86/x64), and yes, in VB6 too!
190195
* [🖼][p_win][📊][a_xl] [VBA-IDE-Code-Export](https://github.com/spences10/VBA-IDE-Code-Export) - Addin contains a code importer and exporter for use with git (or any VCS).
191-
* [🖼][p_win][📊][a_xl][✒️][a_wd][🔒][o_pass][🏺][o_32] - AndyPope's Visual Ribbon Editor.
196+
* [🖼][p_win][📊][a_xl][✒️][a_wd][🔒][o_pass] - [RibbonX](https://www.andypope.info/vba/ribboneditor_2010.htm) - AndyPope's Visual Ribbon Editor.
192197
* [🖼][p_win][📊][a_xl] [Custom UI XML Editor](https://yoursumbuddy.com/ribbon-customui-xml-editor/) - Addin for directly adding, editing and validating ribbon XML (Excel 2010+).
193198
* [🖼][p_win][][a_all] [VBA Resource File Editor](http://leandroascierto.com/blog/vba-resource-file-editor/) - Store other files inside your excel/word/powerpoint files for later use with this handy tool.
194199
* [🖼][p_win][][a_all][🏺][o_32] [vbRichClient](https://vbrichclient.com/#/en/About/) - An external client full of useful libraries
@@ -214,7 +219,7 @@ To help you in finding projects suitable for you, this awesome list uses the fol
214219

215220
### AddIns
216221

217-
* [🖼][p_win][📊][a_xl] [MenuRighter](https://yoursumbuddy.com/blog/menurighter/) - MenuRighter is an Excel addin that lets you modify right-click menus. You can add almost any control found in other right-click menus or Excel 2003’s “classic menus.
222+
* [🖼][p_win][📊][a_xl] [MenuRighter](https://yoursumbuddy.com/blog/menurighter/) - MenuRighter is an Excel addin that lets you modify right-click menus. You can add almost any control found in other right-click menus or Excel 2003's "classic" menus.
218223
* [🖼][p_win][📊][a_xl] [Sam Rad's DatePicker](http://samradapps.com/datepicker/) - Visually impressive and professional DatePicker addin for Excel. Worksheet only / cannot be used with userforms.
219224

220225
### Games / Fun projects
@@ -237,7 +242,7 @@ To help you in finding projects suitable for you, this awesome list uses the fol
237242

238243
## Information
239244

240-
* [Thunder - The birth of Visual Basic](http://www.forestmoon.com/birthofvb/birthofvb.html) - A little article about the birth of VB7/VBA
245+
* [Thunder - The birth of Visual Basic](http://www.forestmoon.com/birthofvb/birthofvb.html) - A little article about the birth of VB7/VBA.
241246
* [My First Bill Gates Review](https://www.joelonsoftware.com/2006/06/16/my-first-billg-review/) - Joel Spolsky, program manager for the Excel team, recounts his first Bill Gates review. Joel got numerous features added e.g. `IDispatch`, `Variant`, `For each` and `With`. It also discusses the dreaded Date bug ported to Excel from Lotus 123.
242247
* [Ruby, EB and DLL composition](https://github.com/sancarn/stdVBA-Inspiration/blob/master/_OtherDocumentation/VBA%20and%20VB6%20History%20-%20Eb%20and%20Ruby/VBA%20History.md) - Translated copy of [VBStreets article](http://bbs.vbstreets.ru/viewtopic.php?f=101&t=56551) created by Russian VBer `Хакер`. Details the composition of the VB6 and VBA dlls in amongst the history of the language.
243248
* [PCode Internals](https://www.vbforums.com/showthread.php?884919-pcode-internals) - VBA is compiled to PCode. Understanding the lower level P-Code is a topic of heavy interest and research.
@@ -267,14 +272,14 @@ To help you in finding projects suitable for you, this awesome list uses the fol
267272
* [The VBA Developer's Handbook](https://www.academia.edu/29801473/VBA_Developers_Handbook_Second_Edition) - Write bulletproof VBA code for any situation. This book is the essential resource for developers working with any of the more than 300 products that employ the "Visual Basic for Applications" programming language. Hardbacks also available elsewhere.
268273
* [Advanced Visual Basic 6](https://pdfcoffee.com/advanced-visual-basic-6-power-techniques-for-everyday-programs978020170712024922-pdf-free.html) - Power Techniques for Everyday Programs Matthew Curland. Hardbacks also available elsewhere.
269274
* [Professional Excel Development](https://oiipdf.com/download/professional-excel-development-the-definitive-guide-to-developing-applications-using-microsoft-excel-vba-and-net) - In this book, four world-class Microsoft® Excel developers offer start-to-finish guidance for building powerful, robust, and secure applications with Excel. Hardbacks also available.
270-
* [💲](# "~$6") [Excel VBA Programming For Dummies](https://www.google.com/search?q=Excel+VBA+Programming+For+Dummies+book) - It′s time to move to the next level—creating your own, customized Excel 2010 solutions using Visual Basic for Applications (VBA)...Using step–by–step instruction and the accessible, friendly For Dummies style, this practical book shows you how to use VBA, write macros, customize your Excel apps to look and work the way you want, avoid errors, and more
275+
* [💲](# "~$6") [Excel VBA Programming For Dummies](https://www.google.com/search?q=Excel+VBA+Programming+For+Dummies+book) - It′s time to move to the next level—creating your own, customized Excel 2010 solutions using Visual Basic for Applications (VBA).Using step–by–step instruction and the accessible, friendly For Dummies style, this practical book shows you how to use VBA, write macros, customize your Excel apps to look and work the way you want, avoid errors, and more
271276
* [💲](# "~$30") [Power Programming with VBA](https://www.wiley.com/en-us/Excel+2019+Power+Programming+with+VBA-p-9781119514916) - Excel 2019 Power Programming with VBA is fully updated to cover all the latest tools and tricks of Excel 2019. Encompassing an analysis of Excel application development and a complete introduction to Visual Basic for Applications (VBA), this comprehensive book presents all of the techniques you need to develop both large and small Excel applications.
272277
* [(E-Book) VBA beginners](https://goalkicker.com/VBABook/)
273278
* [(E-Book) Excel VBA beginners](https://goalkicker.com/ExcelVBABook/)
274279

275-
### Youtube
280+
### YouTube
276281

277-
* [Excel Macro Mastery](https://www.youtube.com/c/Excelmacromastery) - Youtube channel for Paul Kelly (MVP) - excelmacromastery.com.
282+
* [Excel Macro Mastery](https://www.youtube.com/c/Excelmacromastery) - Paul Kelly (MVP) - excelmacromastery.com.
278283
* [Sigma Coding](https://www.youtube.com/c/SigmaCoding) - Large catalogue of tutorials - beginner through to advanced. Delves into interesting areas of VBA and it uses not explored by other content creators.
279284
* [WiseOwl's VBA tutorials](https://www.youtube.com/playlist?list=PLNIs-AWhQzckr8Dgmgb3akx_gFMnpxTN5) - Great all-round resource for VBA. Perfect introduction for beginners. In-depth lessons into all aspects of VBA. Huge playlist that covers most types of VBA.
280285
* [💲](# "Some libraries used are non-FOSS and created by VBA A2Z") [VBA A2Z](https://www.youtube.com/c/VBAA2Z) - Many tutorials, some paid content. Good array of intereting and different topics - in-depth tutorials into different parts of VBA, with some .NET/VSTO videos. Strong focus on UI development.

‎resources/VBALogo.png

2.09 KB
Loading

0 commit comments

Comments
 (0)
Please sign in to comment.