├── .github └── workflows │ └── linter.yml ├── .vscode └── settings.json ├── Contributing.md ├── LICENSE ├── README.md └── resources ├── 32-Bit.svg ├── AccessLogo.svg ├── AppleLogo.svg ├── Crown.svg ├── Dependencies.svg ├── Duck.svg ├── ExcelLogo.svg ├── Installation.svg ├── Money.svg ├── NotApplicable.svg ├── OfficeLogoPlus.svg ├── OutlookLogo.svg ├── Padlock.svg ├── PowerPointLogo.svg ├── Star.svg ├── VBALogo.png ├── WindowsLogo.svg └── WordLogo.svg /.github/workflows/linter.yml: -------------------------------------------------------------------------------- 1 | on: workflow_dispatch 2 | 3 | jobs: 4 | lint: 5 | runs-on: ubuntu-latest 6 | steps: 7 | - uses: actions/checkout@v4 8 | with: 9 | fetch-depth: 0 10 | - name: awesome-lint 11 | run: npx awesome-lint -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": false 3 | } -------------------------------------------------------------------------------- /Contributing.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Thanks for helping make Awesome‑VBA truly awesome! Whether you write VBA, VB6 or both, we welcome your pull‑requests. 4 | 5 | ## Quick checklist 6 | 7 | 1. Try to stick to one link per PR. Small, focused PRs are easier to review. 8 | 2. PR title: `Add `. 9 | 3. Entry format (single line, bullet list): 10 | `- [project‑name](https://…) – Short description ending with a period.` 11 | 4. Keep the description concise and short (≤ 120 chars is a good rule of thumb) 12 | 5. Add a new section & Table of Contents entry if none fits. 13 | 6. Search existing Issues/PRs first to avoid duplicates. 14 | 7. Proof‑read for spelling/grammar and remove trailing whitespace. 15 | 16 | Pull‑requests will be generally accepted by maintainers. In some cases we will await 👍 reactions from the community/maintainers/contributors. Feel free to add your vote to open PRs and issues. 17 | 18 | ### Symbology 19 | 20 | This awesome list uses icons to flag platform compatibility, host application, and other constraints so readers can quickly determine whether the project suits their environment and needs. Symbology should match the reality of a project rather than it's ambition. For instance `stdVBA` aspires to be multi-platform, but it currently lacks a lot of Mac compatibility. In this scenario it's labelled as [![p_win]](#-) [![p_nom]](#-). 21 | 22 | Symbology should be of the form: 23 | 24 | ```md 25 | - ? [](...) - <Description> 26 | ``` 27 | 28 | #### 1. Platform compatibility 29 | 30 | Platform compatibility is especially important for Mac users as many libraries are windows only. If you've used `CreateObject` to create an object e.g. `Scripting.Dictionary`, `VBScript.Dictionary` etc. then your library is likely Windows OS Only. Additionally if you've used external DLL functions, the likelihood is your library is Windows only. In order to make these mac-compatible the library needs to use Mac-native functions from libc or objc. 31 | 32 | | Icon set | Mark-up | Description | 33 | |-------------------------------|---------------------------------|------------------------------------| 34 | | [![p_win]](#-) [![p_mac]](#-) | `[![p_win]](#-) [![p_mac]](#-)` | Compatible on both Windows and Mac | 35 | | [![p_win]](#-) [![p_nom]](#-) | `[![p_win]](#-) [![p_nom]](#-)` | Compatible on Windows only | 36 | | [![p_now]](#-) [![p_mac]](#-) | `[![p_now]](#-) [![p_mac]](#-)` | Compatible on Mac only | 37 | 38 | #### 2. Host compatibility 39 | 40 | If a library is built for and/or only works within a specific application and/or relies on the application running specify as below. 41 | 42 | | Icon | Mark-up | Description | 43 | |-------------------------------|---------------------------------|------------------------------------| 44 | | [![a_all]](#-) | `[![a_all]](#-)` | All applications | 45 | | [![a_wd]](#-) | `[![a_wd]](#-)` | Word | 46 | | [![a_xl]](#-) | `[![a_xl]](#-)` | Excel | 47 | | [![a_ac]](#-) | `[![a_ac]](#-)` | Access | 48 | | [![a_ol]](#-) | `[![a_ol]](#-)` | Outlook | 49 | | [![a_pp]](#-) | `[![a_pp]](#-)` | PowerPoint | 50 | | [![a_misc]](#- 'Misc') | `[![a_misc]](#- 'Misc')` | Miscellaneous applications (MS Project, AutoCAD, VB6, Python etc.) - Specify in short description | 51 | 52 | #### 3. Other flags 53 | 54 | Many people use VBA in business environments because they don't have better tools available. Dependency download may be blocked, or installation may be something that can only be done by IT staff. Additionally, sometimes libraries cost money, and thus require a cost center, preventing buy-in. This symbology aids users in understanding this. 55 | 56 | | Icon | Mark-up | Description | 57 | |-------------------------------------------------------|------------------------------------------------------------|-------------------------------------------------------| 58 | | [![o_dll]](#- 'Requires external dependencies') | `[![o_dll]](#- 'Requires external dependencies')` | Requires external dependencies e.g. DLLs | 59 | | [![o_inst]](#-) | `[![o_inst]](#-)` | Requires installation | 60 | | [![o_32]](#-) | `[![o_32]](#-)` | 32-bit only/VB6 only | 61 | | [![o_paid]](#- 'Link includes/leads to paid content') | `[![o_paid]](#- 'Link includes/leads to paid content')` | Link includes/leads to paid content | 62 | | [![o_pass]](#-) | `[![o_pass]](#-)` | VBA source code is password protected and/or hidden. | 63 | 64 | Tooltips: append a custom title after the image to give extra detail, e.g. 65 | 66 | ```md 67 | [![o_dll]](#- 'Requires WinHTTP') 68 | ``` 69 | 70 | #### 4. Github star count 71 | 72 | If your repo is a github repo, please also add the star count to your submission. This should follow immediately after your symbology before your title. The syntax to be used is as follows: 73 | 74 | ``` 75 | ![GHStars](https://img.shields.io/github/stars/<user-or-org>/<repo>?style&logo=github&label) 76 | ``` 77 | 78 | E.G. 79 | 80 | ``` 81 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/VBA-tools/VBA-XML?style&logo=github&label) [VBA-XML](https://github.com/VBA-tools/VBA-XML) - XML conversion and parsing. 82 | ``` 83 | 84 | #### Symbology Examples 85 | 86 | | Example | Markup | Description | 87 | |-----------------------------------------------------------------------------|------------------------------------------------------------------------------|--------------------------------------------------------------------------------| 88 | | [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) | `[![p_win]](#-) [![p_mac]](#-) [![a_all]](#-)` | Compatible on all operating systems and in all applications | 89 | | [![p_win]](#-) [![p_nom]](#-) [![a_wd]](#-) [![a_xl]](#-) | `[![p_win]](#-) [![p_nom]](#-) [![a_wd]](#-) [![a_xl]](#-)` | Only compatible on windows and only works in Word and Excel. | 90 | | [![p_win]](#-) [![p_nom]](#-) [![a_xl]](#-) [![o_inst]](#- 'Register OCX') | `[![p_win]](#-) [![p_nom]](#-) [![a_xl]](#-) [![o_inst]](#- 'Register OCX')` | Only compatible on windows, only works in Excel and requires OCX registration. | 91 | | [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) [![o_paid]](#- 'One off £200') | `[![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) [![o_paid]](#- 'One off £200')`| Compatible on mac & windows, and in all applications, requires one off £200 license | 92 | 93 | 94 | ### Contribution examples 95 | 96 | ``` 97 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/sancarn/stdVBA?style&logo=github&label) [stdVBA](https://github.com/sancarn/stdVBA) – Framework of common utilities & collections. 98 | - [![p_win]](#-) [![p_nom]](#-) [![a_xl]](#-) ![GHStars](https://img.shields.io/github/stars/cristianbuse/VBA-FastJSON?style&logo=github&label) [VBA‑FastJSON](https://github.com/cristianbuse/VBA-FastJSON) – Simple JSON parser for Excel & Access. 99 | - [![p_now]](#-) [![p_mac]](#-) [![a_misc]](#- 'AutoCAD') [AutoCAD‑VBA‑Tools](https://example.com) – Helpers for scripting AutoCAD. 100 | - [![p_win]](#-) [![p_nom]](#-) [![a_misc]](#- 'VB6') [![o_32]](#-) [VB6‑CollectionPlus](https://example.com) – Drop‑in `Collection` with LINQ‑like helpers (VB6‑only). 101 | ``` 102 | 103 | These will render as follows: 104 | 105 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/sancarn/stdVBA?style&logo=github&label) [stdVBA](https://github.com/sancarn/stdVBA) – Framework of common utilities & collections. 106 | - [![p_win]](#-) [![p_nom]](#-) [![a_xl]](#-) ![GHStars](https://img.shields.io/github/stars/cristianbuse/VBA-FastJSON?style&logo=github&label) [VBA‑FastJSON](https://github.com/cristianbuse/VBA-FastJSON) – Simple JSON parser for Excel & Access. 107 | - [![p_now]](#-) [![p_mac]](#-) [![a_misc]](#- 'AutoCAD') [AutoCAD‑VBA‑Tools](https://example.com) – Helpers for scripting AutoCAD. 108 | - [![p_win]](#-) [![p_nom]](#-) [![a_misc]](#- 'VB6') [![o_32]](#-) [VB6‑CollectionPlus](https://example.com) – Drop‑in `Collection` with LINQ‑like helpers (VB6‑only). 109 | 110 | ### VB6 Quickstart 111 | 112 | While the list is primarily VBA‑oriented, classic VB6 libraries and tools are welcome. Here is a quick guide: 113 | 114 | | Icons | Markup | Condition | 115 | |-------------------------------------|---------------------------------------------------------------------|------------------------------------------------------| 116 | | ![p_win] ![p_nom] ![a_all] ![o_32] | `[![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [![o_32]](#-)` | Pure VBA6/VB6 project, with no 64 bit compatibility, no usage of forms (i.e. EB only, no ruby), no OCXs or DLLs. | 117 | | ![p_win] ![p_nom] ![a_all] | `[![p_win]](#-) [![p_nom]](#-) [![a_all]](#-)` | As above but with explicit 64 bit compatibility. | 118 | | ![p_win] ![p_nom] ![a_misc] ![o_32] | `[![p_win]](#-) [![p_nom]](#-) [![a_misc]](#- 'VB6') [![o_32]](#-)` | Pure VB6 project, with usage of forms (EB+Ruby) but no 64 bit compatibility | 119 | 120 | If the project uses external DLLs etc; not accessible by default on a fresh install include the following flag: 121 | 122 | ```md 123 | [![o_dll]](#- 'Requires external DLL') 124 | ``` 125 | 126 | If the project uses external OCXs which need registering, and/or requires installation of any software, include the following flag: 127 | 128 | ```md 129 | [![o_inst]](#- 'Requires OCX') 130 | ``` 131 | 132 | If the project comes with paid content for the developer/user, include the following flag: 133 | 134 | ```md 135 | [![o_paid]](#- '£100pa dev license') 136 | ``` 137 | 138 | 139 | 140 | 141 | <!-- Linker --> 142 | 143 | [p_win]: ./resources/WindowsLogo.svg 'Windows' 144 | [p_mac]: ./resources/AppleLogo.svg 'Mac' 145 | [p_now]: ./resources/NotApplicable.svg 'Not Windows' 146 | [p_nom]: ./resources/NotApplicable.svg 'Not Mac' 147 | 148 | [a_all]: ./resources/OfficeLogoPlus.svg 'All applications' 149 | [a_wd]: ./resources/WordLogo.svg 'Word' 150 | [a_xl]: ./resources/ExcelLogo.svg 'Excel' 151 | [a_ac]: ./resources/AccessLogo.svg 'Access' 152 | [a_ol]: ./resources/OutlookLogo.svg 'Outlook' 153 | [a_pp]: ./resources/PowerPointLogo.svg 'PowerPoint' 154 | [a_misc]: ./resources/Duck.svg 155 | 156 | [o_32]: ./resources/32-Bit.svg '32-bit only' 157 | [o_pass]: ./resources/Padlock.svg 'VBA is password protected' 158 | [o_dll]: ./resources/Dependencies.svg 159 | [o_inst]: ./resources/Installation.svg 'Requires installation' 160 | [o_paid]: ./resources/Money.svg -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Attribution 4.0 International License (CC BY 4.0) 2 | 3 | http://creativecommons.org/licenses/by/4.0/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome VBA ![VBALogo](./resources/VBALogo.png) [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) 2 | 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. 4 | 5 | This is a curated list of Libraries and Resources for both VBA and VB6. 6 | 7 | Because of the nature of VBA, many libraries do not work on all Operating Systems, in all Office Applications or on all architectures(x64/x86), therefore we use symbology. [Read more about this here](#symbology). 8 | 9 | ## Contents 10 | 11 | - [Frameworks](#frameworks) 12 | - [Libraries](#libraries) 13 | - [Data Formats (JSON, CSV, XML, etc.)](#data-formats) 14 | - [Data Structures (Array-List and Dictionary)](#data-structures) 15 | - [Math libraries](#math-libraries) 16 | - [Database tools](#database-tools) 17 | - [Userform tools](#userform-tools) 18 | - [Low level tools](#low-level-tools) 19 | - [Parsers / Interpreters](#parsers--interpreters) 20 | - [Web tools](#web-tools) 21 | - [Developer tools](#developer-tools) 22 | - [Examples](#examples) 23 | - [Algorithms, code optimisation, and performance testing](#algorithms-code-optimisation-and-performance-testing) 24 | - [UI Ribbon](#ui-ribbon) 25 | - [UI Userforms](#ui-userforms) 26 | - [Low level examples](#low-level-examples) 27 | - [AddIns](#addins) 28 | - [Games / Fun projects](#games--fun-projects) 29 | - [External tools](#external-tools) 30 | - [Style Guides](#style-guides) 31 | - [Information](#information) 32 | - [Resources](#resources) 33 | - [Win32 API Resources](#win32-api-resources) 34 | - [VB6 / VBScript](#vb6--vbscript) 35 | - [Websites](#websites) 36 | - [Books](#books) 37 | - [YouTube](#youtube) 38 | - [Forums](#forums) 39 | 40 | --- 41 | 42 | ## Frameworks 43 | 44 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/sancarn/stdVBA?style&logo=github&label) [stdVBA](http://github.com/sancarn/stdVBA) - A framework containing numerous classes for automation and utility. Focuses on code compactness and long-term maintainability. 45 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [![o_32]](#-) ![GHStars](https://img.shields.io/github/stars/kellyethridge/VBCorLib?style&logo=github&label) [VbCorLib](https://github.com/kellyethridge/VBCorLib) - A framework which brings many powerful .NET classes to VBA/VB6. 46 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/RelaxTools/Hidennotare?style&logo=github&label) [Hidennotare](https://github.com/RelaxTools/Hidennotare) - A framework by Japanese author RelaxTools. Contains numerous classes, interfaces and forms. 47 | 48 | ## Libraries 49 | 50 | ### Data Formats 51 | 52 | #### JSON 53 | 54 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/cristianbuse/VBA-FastJSON?style&logo=github&label) [VBA-FastJSON](https://github.com/cristianbuse/VBA-FastJSON) - Fast, cross-platform, native json parser and serializer. Memory efficient (non-recursive), RFC 8259 compliant, UTF8 support 55 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/VBA-tools/VBA-JSON?style&logo=github&label) [VBA-JSON](https://github.com/VBA-tools/VBA-JSON) - JSON conversion and parsing. 56 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [mdJSON](https://www.vbforums.com/showthread.php?871695-VB6-VBA-JSON-parsing-to-built-in-VBA-Collections-with-JSON-Path-support) - JSON library with dot-notation for extracting paths. 57 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [JSONBag](https://www.vbforums.com/showthread.php?738845-VB6-JsonBag-Another-JSON-Parser-Generator) - Uses shebang notation to extract keys from JSON strings. Can also build JSON with this library. 58 | - From Frameworks: 59 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) In `stdVBA` find `stdJSON` - As above. 60 | 61 | #### CSV 62 | 63 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/ws-garcia/VBA-CSV-interface?style&logo=github&label) [VBA-CSV-interface](https://github.com/ws-garcia/VBA-CSV-interface) - Powerful, fast and comprehensive RFC-4180 compliant CSV/TSV/DSV data management library. 64 | - From Frameworks: 65 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) In `Hidennotare` find `csvWriter` and `csvReader`. 66 | 67 | #### XML 68 | 69 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/VBA-tools/VBA-XML?style&logo=github&label) [VBA-XML](https://github.com/VBA-tools/VBA-XML) - XML conversion and parsing. 70 | 71 | #### ZIP 72 | 73 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/cristianbuse/Excel-ZipTools?style&logo=github&label) [Excel-ZipTools](https://github.com/cristianbuse/Excel-ZipTools/tree/master) - Parse, read, and extract data from, Zip files. Written in pure vba. 74 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/KallunWillock/vbaSquash?style&logo=github&label) [vbaSquash](https://github.com/KallunWillock/vbaSquash/tree/master) - Compress and decompress files and byte arrays using the built-in `cabinet.dll` functions available on Windows 8+. Provides access to compression algorithms `MSZIP`, `XPRESS`, `XPRESS_HUFF`, and `LZMS`. 75 | 76 | ### Data Structures 77 | 78 | #### Array-List 79 | 80 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/Senipah/VBA-Better-Array?style&logo=github&label) [Better array](https://github.com/Senipah/VBA-Better-Array/tree/master/src) - An array class providing features found in more modern languages. 81 | - From Frameworks: 82 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [![o_32]](#-) In `VbCorLib` find `ArrayList` - As above. 83 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) In `stdVBA` find `stdArray` - As above. Also includes methods to search the array or perform checks from a callback. 84 | 85 | 86 | #### Dictionary 87 | 88 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/cristianbuse/VBA-FastDictionary?style&logo=github&label) [VBA-FastDictionary](https://github.com/cristianbuse/VBA-FastDictionary) - Fast, cross-platform, native Dictionary. Replacement for scripting dictionary. 89 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/VBA-tools/VBA-Dictionary?style&logo=github&label) [VBA-Dictionary](https://github.com/VBA-tools/VBA-Dictionary) - A dictionary object which stores key-value pairs. 90 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/SSlinky/VBA-ExtendedDictionary?style&logo=github&label) [VBA-ExtendedDictionary](https://github.com/SSlinky/VBA-ExtendedDictionary) - A dictionary object using Scripting.Dictionary but exposes some additional useful functionality. 91 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) [cHashList](https://www.vbforums.com/showthread.php?834515-Simple-and-fast-lightweight-HashList-Class-(no-APIs)) - Simple, Fast and lightweight HashList class with no use of Win32 API. Requires string keys however. 92 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [CollectionEx](https://www.vbforums.com/showthread.php?834579-Wrapper-for-VB6-Collections) - Extends the default VBA(/VB6) collection with methods to retrieve and check for key existence. <!--TODO: This is listed as p_win, but honestly this might work on mac given the correct API declarations. Would be worth testing, see MemoryTools for Copy Memory declares--> 93 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [![o_32]](#-) [clsTrickHashTable](https://www.vbforums.com/showthread.php?788247-VB6-Hash-table) - A hash table using machine code injected at runtime. Full replacement for scripting dictionary, with bonus features. 94 | - From Frameworks: 95 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [![o_32]](#-) In `VbCorLib` find `HashTable` - As above. 96 | <!-- Hidennotare, though it simply wraps Scripting.Dictioanry... --> 97 | 98 | ### Math libraries 99 | 100 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/Beakerboy/VBA-Math-Objects?style&logo=github&label) [VBA-Math-Objects](https://github.com/Beakerboy/VBA-Math-Objects) - A matrix and vector library. 101 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/ws-garcia/VBA-float?style&logo=github&label) [VBA Float](https://github.com/ws-garcia/VBA-float ) - An utility to perform computations over big integers and rational numbers with thousands digits. 102 | 103 | ### Database tools 104 | 105 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/Beakerboy/VBA-SQL-Library?style&logo=github&label) [SQL Library](https://github.com/Beakerboy/VBA-SQL-Library) - An OOP SQL Library for psql, mssql, mysql databases. 106 | 107 | ### Userform tools 108 | 109 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/fafalone/cTaskDialog64?style&logo=github&label) [Task Dialog](https://github.com/fafalone/cTaskDialog64) - A huge amount of UI functionality from this 1 class, in a strictly dynamic and modular way. Great for data input forms. Also see [vbforums](https://www.vbforums.com/showthread.php?777021-VB6-TaskDialogIndirect-Complete-class-implementation-of-Vista-Task-Dialogs) post for more information. 110 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/fafalone/ucSimplePlayer?style&logo=github&label) [![o_dll]](#- 'Requires external OCX') [ucSimplePlayer](https://github.com/fafalone/ucSimplePlayer) - Simple video player user control. 111 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/fafalone/ucWebView2?style&logo=github&label) [![o_dll]](#- 'Requires external OCX') [ucWebView2](https://github.com/fafalone/ucWebView2) - WebView2 user control. 112 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/fafalone/ucAniGifEx?style&logo=github&label) [![o_dll]](#- 'Requires external OCX') [ucAniGifEx](https://github.com/fafalone/ucAniGifEx) - Animated GIF user control. 113 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/todar/VBA-Material-Design?style&logo=github&label) [Material UI](https://github.com/todar/VBA-Material-Design) - Make your userform feel modern with Material UI. 114 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/todar/VBA-Userform-EventListener?style&logo=github&label) [Easy EventListener](https://github.com/todar/VBA-Userform-EventListener) - Consolidate all event handling of a userform into 1 callback. 115 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [Pseudo Control Arrays](http://addinbox.sakura.ne.jp/Breakthrough_P-Ctrl_Arrays_Eng.htm) - Optimal means of Consolidating all event handling of a userform. Demonstrates usage of `ConnectToConnectionPoint` API. Also worth looking at [this class](https://stackoverflow.com/questions/61855925/reducing-withevent-declarations-and-subs-with-vba-and-activex#answer-61893857) too. 116 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/krishKM/Modern-UI-Components-for-VBA?style&logo=github&label) [![o_dll]](#- 'Requires external DLLs') [Modern UI Components](https://github.com/krishKM/Modern-UI-Components-for-VBA) - Custom modern looking controls. 117 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/rubberduck-vba/MVVM?style&logo=github&label) [MVVM](https://github.com/rubberduck-vba/MVVM) - Model-View-ViewModel Infrastructure for maintainable userform development. 118 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/todar/VBA-Userform-Animations?style&logo=github&label) [VBA Userform Transitions and Animations](https://github.com/todar/VBA-Userform-Animations) - An excellent library for implementing animation easings into the Userform. 119 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/thetrik/VbTrickTimer?style&logo=github&label) [Trick's Timer](https://github.com/thetrik/VbTrickTimer) - If you need to run a piece of code continuously and don't have access to `Application.OnTime` (and/or you need to run it faster than once per second), this is the class for you! Also check out the [forum post](https://www.vbforums.com/showthread.php?875635-VB6-VBA-Timer-class) for more information. Limitation: Requires a modal form. 120 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/cristianbuse/VBA-SafeTimer?style&logo=github&label) [VBA-SafeTimer](https://github.com/cristianbuse/VBA-SafeTimer) - Reliable, no-crash timer for VBA. Code can be debugged and stopped safely. Works with or without a form. 121 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [Drag and Drop filepaths](https://www.mrexcel.com/board/threads/vba-drag-drop-filepath.843330/page-6#post-5898495) - Allow your userform to handle drag-and-drop files. 122 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [Late-bound WebBrowser Control Events](https://www.vbforums.com/showthread.php?847773-VB6-elevated-IE-Control-usage-with-HTML5-elements-and-COM-Event-connectors) - A technique to latch onto WebBrowser events in a late-bound manner. 123 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [![o_paid]](#- '~£2 per control/application') [Mark's userform tools](https://www.kubiszyn.co.uk/) - Numerous UI tools and pretty userforms. 124 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/cristianbuse/VBA-UserForm-MouseScroll?style&logo=github&label) [VBA-UserForm-MouseScroll](https://github.com/cristianbuse/VBA-UserForm-MouseScroll) - Allows Mouse Wheel Scrolling on MSForms Controls and Userforms. 125 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) [MSForms (Pure VBA) Treeview Control](https://jkp-ads.com/Articles/treeview.asp) - A treeview control replacement by JKP and Peter Thornton coded entirely in VBA. 126 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) [MSForms (Pure VBA) ListBox Control](https://app.monstercampaigns.com/c/fxzxd8wfvl4mnf4zmnp3/) - Featured in [this video](https://www.youtube.com/watch?v=QYW1SlKfKdM). It has tons of useful features like sorting, filtering, single or multi-selection with select and deselect all, page navigation and hover highlight, 127 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [Custom Userform TitleBar color](https://www.mrexcel.com/board/threads/using-winapi-to-change-the-color-on-the-title-bar-of-a-userform.1205894/page-2#post-5892050) 128 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [Multi-color ListBox class](https://www.mrexcel.com/board/threads/multicolor-drag-n-drop-listbox-class-win32.1206334/) 129 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [Use of GDIPlus in VBA](https://arkham46.developpez.com/articles/office/clgdiplus/) - GDIPlus can be used to create a `canvas` like element where any image can be drawn to. Additionally check out this [GDI32](https://arkham46.developpez.com/articles/office/clgdi32/) class from the same author. 130 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [Use of OpenGL in VBA](https://arkham46.developpez.com/articles/office/vbaopengl/?page=Page_1) - OpenGL is a cross-language, cross-platform application programming interface for rendering 2D and 3D vector graphics. In this article the authors of the GDIPlus class. 131 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [![o_32]](#-) [VB6 Graph Control](https://vb6awards.blogspot.com/2017/11/vb6-graph-control.html) - Won't work natively in VBA without a `PictureBox` compatible substitute, but an extremely performant graph control regardless. 132 | 133 | ### Low level tools 134 | 135 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/cristianbuse/VBA-MemoryTools?style&logo=github&label) [VBA-MemoryTools](https://github.com/cristianbuse/VBA-MemoryTools) - Provides an ultra-fast, copy memory alternative. 136 | - [![p_win]](#-) [![p_nom]](#-) [![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. 137 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/Greedquest/vbInvoke?style&logo=github&label) [Calling private module functions](https://github.com/Greedquest/vbInvoke/tree/main) - You can also check out [Greedo's code review](https://codereview.stackexchange.com/questions/274532/low-level-vba-hacking-making-private-functions-public). 138 | - [![p_win]](#-) [![p_nom]](#-) [![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`. 139 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/Greedquest/vbInvoke?style&logo=github&label) [vbInvoke](https://github.com/Greedquest/vbInvoke) - `Application.Run` but COM based and can call private module methods. 140 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/cristianbuse/VBA-StateLossCallback?style&logo=github&label) [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. 141 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/jet2jet/vb2clr?style&logo=github&label) [vb2clr](https://github.com/jet2jet/vb2clr) - Use C# from VBA using the .NET CLR runtime. 142 | - From Frameworks: 143 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) In `stdVBA` find `stdCOM` - A one stop shop for COM automation, from invoking interfaces by offsets to extracting type information. 144 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) In `stdVBA` find `stdReg` - Registry automation from searching to setting values. 145 | 146 | ### Parsers / Interpreters 147 | 148 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/sihlfall/vba-regex?style&logo=github&label) [vba-regex](https://github.com/sihlfall/vba-regex) - A native regex expression parser and runtime engine. 149 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/wqweto/VbPeg?style&logo=github&label) [VbPeg](https://github.com/wqweto/VbPeg) - A parser generator for VBA. Converts PEG grammar like [this](https://github.com/wqweto/VbPeg/blob/master/test/Runner/peg/Kscope/grammar.peg) into [VBA code like this](https://github.com/wqweto/VbPeg/blob/master/test/Runner/peg/Kscope/cKscope.cls). Very useful if your implementing a new programming language in VBA. Wqweto has also included some math expression parsers as tests. 150 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) [Volpi's Math Expression Parser](https://web.archive.org/web/20100703220609/http://digilander.libero.it/foxes/mathparser/MathExpressionsParser.htm) - A fast math expression parser. Doesn't allow calls to objects, no callstack. 151 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/ws-garcia/VBA-Expressions?style&logo=github&label) [VBA Expressions](https://github.com/ws-garcia/VBA-Expressions) - A powerful string expression evaluator focussed on mathematics and data processing. 152 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/Excel-lent/ClooWrapperVBA?style&logo=github&label) [ClooWrapperVBA](https://github.com/Excel-lent/ClooWrapperVBA) - Execute OpenCL from VBA, using either the GPU or CPU. 153 | - From Frameworks: 154 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) In `stdVBA` find `stdLambda` - Full programming language including object manipulation, call stack, etc. 155 | 156 | ### Web tools 157 | 158 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/VBA-tools/VBA-Web?style&logo=github&label) [VBA-Web](https://github.com/VBA-tools/VBA-Web) - Connect VBA, Excel, Access, and Office for Windows and Mac to web services and the web. 159 | - [![p_win]](#-) [![p_mac]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/EagleAglow/vba-websocket-async?style&logo=github&label) [VBA-WebSocket](https://github.com/EagleAglow/vba-websocket) - Microsoft example code for a WebSocket client which can be used in conjunction with an echo server. There is also [a class](https://github.com/EagleAglow/vba-websocket-class) and an [async version](https://github.com/EagleAglow/vba-websocket-async) built by the discoverer of the microsoft code. 160 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [![o_32]](#-) ![GHStars](https://img.shields.io/github/stars/wqweto/VbAsyncSocket?style&logo=github&label) [vbAsyncSocket](https://github.com/wqweto/VbAsyncSocket) - Simple and thin WinSock API wrappers for VB6 loosely based on the original CAsyncSocket wrapper in MFC. 161 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/sancarn/stdVBA-Inspiration?style&logo=github&label) [Edge Automation](https://www.codeproject.com/Tips/5307593/Automate-Chrome-Edge-using-VBA) - Automate Chromium Edge using devtools protocol. [GitHub backup here](https://github.com/sancarn/stdVBA-Inspiration/tree/master/ChromeEdgeAutomation). 162 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/PerditionC/VBAChromeDevProtocol?style&logo=github&label) [Chrome Automation (via devtools protocol)](https://github.com/PerditionC/VBAChromeDevProtocol) - Automate Chrome using chrome devtools protocol. 163 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/GCuser99/SeleniumVBA?style&logo=github&label) [SeleniumVBA](https://github.com/GCuser99/SeleniumVBA) - Drive selenium webdriver directly from VBA. If you don't have the driver installed, the library will attempt to download it for you and run it. However AV may restrict the running of this process. 164 | - [![p_win]](#-) [![p_nom]](#-) [![a_xl]](#-) ![GHStars](https://img.shields.io/github/stars/michaelneu/webxcel?style&logo=github&label) [webxcel](https://github.com/michaelneu/webxcel) - A webserver which runs a RESTful backend. The creator also made an [article](https://dev.to/michaelneu/to-vba-and-beyond---building-a-restful-backend-using-plain-microsoft-excel-macros-76n) on how it works on dev.to. 165 | - From Frameworks: 166 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) In `stdVBA` find `stdHTTP` - Connect to and query web services. 167 | 168 | 169 | ## Developer tools 170 | 171 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [![o_inst]](#-) [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! 172 | - [![p_win]](#-) [![p_nom]](#-) [![a_xl]](#-) ![GHStars](https://img.shields.io/github/stars/spences10/VBA-IDE-Code-Export?style&logo=github&label) [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). 173 | - [![p_win]](#-) [![p_nom]](#-) [![a_xl]](#-) [![a_wd]](#-) [![o_pass]](#-) - [RibbonX](https://www.andypope.info/vba/ribboneditor_2010.htm) - AndyPope's Visual Ribbon Editor. 174 | - [![p_win]](#-) [![p_nom]](#-) [![a_xl]](#-) [Custom UI XML Editor](https://yoursumbuddy.com/ribbon-customui-xml-editor/) - Addin for directly adding, editing and validating ribbon XML (Excel 2010+). 175 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [![o_paid]](#- 'Costs upwards of $79') [MZ-Tools](https://www.mztools.com/) - VBE addin providing development tools. 176 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/wqweto/VbPeg?style&logo=github&label) [VbPeg](https://github.com/wqweto/VbPeg) - A parser generator for VBA. Converts PEG grammar like [this](https://github.com/wqweto/VbPeg/blob/master/test/Runner/peg/Kscope/grammar.peg) into [VBA code like this](https://github.com/wqweto/VbPeg/blob/master/test/Runner/peg/Kscope/cKscope.cls). Very useful if you're implementing a new programming language in VBA. 177 | - [![p_win]](#-) [![p_nom]](#-) [![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. 178 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [![o_32]](#-) [vbRichClient](https://vbrichclient.com/#/en/About/) - An external client full of useful libraries. 179 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [![o_paid]](#- '£170-£205 license per dev') [vbWatchDog](https://www.everythingaccess.com/vbwatchdog.asp) - `vbWatchdog` hacks the VBA runtime to provide module name, procedure name and line number where error occurred. 180 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [DLL Function Viewer](https://www.mrexcel.com/board/threads/dll-export-viewer-vba-based.1220909/) - Allows the export of function names from DLLs. 181 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/sancarn/stdVBA-examples?style&logo=github&label) [Accessibility Inspector](https://github.com/sancarn/stdVBA-examples/tree/main/Examples/Inspector-Accessibility-v2) - An inspector/explorer for accessibility in applications. Useful for automation. 182 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/sancarn/stdVBA-examples?style&logo=github&label) [Running Object Table Inspector](https://github.com/sancarn/stdVBA-examples/tree/main/Examples/Inspector-RunningObjectTable) - An inspector for the running object table (ROT), a table of global running COM objects which can be obtained. 183 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/sancarn/stdVBA-examples?style&logo=github&label) [Clipboard Inspector](https://github.com/sancarn/stdVBA-examples/tree/main/Examples/Inspector-Clipboard) - Allows inspection of data held in the clipboard. Useful for reverse engineering clipboard usage in other applications. 184 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/sancarn/stdVBA-examples?style&logo=github&label) [Registry Inspector](https://github.com/sancarn/stdVBA-examples/tree/main/Examples/Inspector-Registry) - Allows inspection of the win32 registry. Equivalent of regedit basically, but implemented entirely in VBA. 185 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/sancarn/stdVBA-examples?style&logo=github&label) [JSON Inspector](https://github.com/sancarn/stdVBA-examples/tree/main/Examples/Inspector-JSON) - An inspector for JSON data, can be called on demand too as a dev tool for inspecting API responses. 186 | 187 | 188 | ## Examples 189 | 190 | ### Algorithms, code optimisation, and performance testing 191 | 192 | - [VBSpeed](http://www.xbeat.net/vbspeed/) - The Visual Basic Performance Site - focus on VB6 but transferrable across to VBA. 193 | 194 | ### UI Ribbon 195 | 196 | - [Ron de Bruin - Ribbons/QAT](https://web.archive.org/web/20230806024653/https://www.rondebruin.nl/win/section2.htm) - A leading resource for information/samples on developing custom ribbons and context menus. 197 | - [Office MSO Icons](http://www.spreadsheet1.com/office-excel-ribbon-imagemso-icons-gallery-page-01.html) - Ribbon icons can often use one of the 1500 (3 pages on this site) MSO icons wich pre-exist in Office applications. 198 | 199 | ### UI Userforms 200 | 201 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [Drag and drop control](https://www.vbforums.com/showthread.php?888843-Load-image-into-STATIC-control-Win32&p=5496575&viewfull=1#post5496575) - Dragging and dropping image controls around a userform. 202 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) ![GHStars](https://img.shields.io/github/stars/KallunWillock/EZPZMouseController?style&logo=github&label) [EZPZMouseController](https://github.com/KallunWillock/EZPZMouseController/) - An example of using native Microsoft Ink Collector to detect mouse wheel and mouse move events. 203 | 204 | ### Low level examples 205 | 206 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [Iterating the ROT](https://www.mrexcel.com/board/threads/how-to-target-instances-of-excel.1118789/page-2#post-5395037) - An example of iterating the Running Object Table (ROT) to find Excel Workbook instances. 207 | - [![p_win]](#-) [![p_nom]](#-) [![a_all]](#-) [Iterating Excel Instances via IAccessible](https://www.mrexcel.com/board/threads/how-to-target-instances-of-excel.1118789/page-2#post-5395519) - In some cases Excel instances aren't registered to the ROT. The Excel application however implements `IAccessible`, which not only can be used to automate the UI, but can also be used to obtain the Excel Instance from a hwnd. 208 | - [![p_win]](#-) [![p_nom]](#-) [![a_xl]](#-) [Excel Screen Reader](https://www.mrexcel.com/board/threads/excel-screen-reader-upon-navigating-with-the-mouse-with-vba-alone.1162338/) - Not only an example of UI Automation, but also an example of using SAPI to do text to speech. 209 | 210 | <!-- ### VBE UI --> 211 | 212 | ### AddIns 213 | 214 | - [![p_win]](#-) [![p_nom]](#-) [![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. 215 | - [![p_win]](#-) [![p_nom]](#-) [![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. 216 | - [![p_win]](#-) [![p_mac]](#-) [![a_xl]](#-) [Excel Name Manager](https://jkp-ads.com/excel-name-manager.asp) - An enhanced Name Manager replacement by JKP, Charles Williams and Matthew Henson. 2025 Finalist in the Best Microsoft Excel Add-In category. 217 | - [![p_win]](#-) [![p_mac]](#-) [![a_xl]](#-) [Excel Flex Find](https://jkp-ads.com/excel-flexfind.asp) - An enhanced Find-And-Replace replacement by JKP that exends the search scope to objects and VBA code. 218 | - [![p_win]](#-) [![p_mac]](#-) [![a_wd]](#-) ![GHStars](https://img.shields.io/github/stars/joey-melo/vba-syntax-higlight?style&logo=github&label) [Word VBA Syntax Highlighter](https://github.com/joey-melo/vba-syntax-higlight/tree/main) - Custom built Syntax Highlight tool for Word Documents. 219 | 220 | ### Games / Fun projects 221 | 222 | - [![p_win]](#-) [![p_nom]](#-) [![a_xl]](#-) ![GHStars](https://img.shields.io/github/stars/DylanTallchiefGit/xlStudio?style&logo=github&label) [xlStudio](https://github.com/DylanTallchiefGit/xlStudio) - A DAW for Microsoft Excel. Also check out the awesome [video](https://youtu.be/RFdCM2kHL64). 223 | - [![p_win]](#-) [![p_nom]](#-) [![a_xl]](#-) [Cellivization](https://s0lly.itch.io/cellivization) - A cool RTS-like game created in Excel. Also check out the awesome [video](https://www.youtube.com/watch?v=PzETBRcr_i8). 224 | - [![p_win]](#-) [![p_nom]](#-) [![a_xl]](#-) [Arkanoid](http://leandroascierto.com/blog/juego-arkanoid-en-excel/) - Arkanoid, a retro arcade game, built in Excel. On some machines it runs faster than others. 225 | - [![p_win]](#-) [![p_nom]](#-) [![a_xl]](#-) ![GHStars](https://img.shields.io/github/stars/rubberduck-vba/Battleship?style&logo=github&label) [Battleships](https://github.com/rubberduck-vba/Battleship) 226 | - [![p_win]](#-) [![p_nom]](#-) [![a_ac]](#-) [Pacman](https://arkham46.developpez.com/articles/office/clgdiplus/tuto/tutoclgdiplusgame3/?page=Page_11#LXXIV) 227 | - [![p_win]](#-) [![p_nom]](#-) [![a_xl]](#-) ![GHStars](https://img.shields.io/github/stars/raspberrypioneer/ExcelCommodroid?style&logo=github&label) [ExcelCommodroid](https://github.com/raspberrypioneer/ExcelCommodroid/tree/main) - Commodore computer loader using MS Excel on Windows. VBA7 only. 228 | 229 | ## External tools 230 | 231 | - [![p_win]](#-) [![p_mac]](#-) ![GHStars](https://img.shields.io/github/stars/decalage2/oletools?style&logo=github&label) [![a_misc]](# "Python") [oletools](https://github.com/decalage2/oletools) - Python tool which can be used to decode VBA P-Code (VBA's intermediate language). 232 | - [![p_win]](#-) [![p_mac]](#-) [![a_misc]](#- 'VBA planned but as of 2022-05-27 can only compile to exe') [twinBasic](https://twinbasic.com/) - A VBA compatible parser, evaluator and compiler. 233 | - [![p_win]](#-) [![p_mac]](#-) ![GHStars](https://img.shields.io/github/stars/serkonda7/vscode-vba?style&logo=github&label) [![a_misc]](# "VSCode") [vscode-vba](https://github.com/serkonda7/vscode-vba) - Extension that adds VBA editor support to Visual Studio Code. 234 | - [![p_win]](#-) [![p_mac]](#-) ![GHStars](https://img.shields.io/github/stars/SSlinky/VBA-LanguageServer?style&logo=github&label) [![a_misc]](# "VSCode") [VBA Pro](https://marketplace.visualstudio.com/items?itemName=NotisDataAnalytics.vba-lsp) - VSCode Extension that adds enhanced VBA support based on Language Service Protocol. The source is also [on GitHub](https://github.com/SSlinky/VBA-LanguageServer). 235 | - [![p_win]](#-) [![p_mac]](#-) ![GHStars](https://img.shields.io/github/stars/DecimalTurn/VBA-Build?style&logo=github&label) [![a_misc]](# "Github") [VBA Build](https://github.com/DecimalTurn/VBA-Build) - Github action to automatically build a VBA project on commit. 236 | - [![p_win]](#-) [![p_mac]](#-) ![GHStars](https://img.shields.io/github/stars/Beakerboy/MS-OVBA?style&logo=github&label) [![a_misc]](# "Python") [VBA Project Compiler](https://github.com/Beakerboy/MS-OVBA) - A python library which can be utilised to compile VBA projects. There is also a built-in [Excel addin generator](https://github.com/Beakerboy/Excel-Addin-Generator) made by the same author! You can see a list of related projects by the author [here](https://github.com/sancarn/awesome-vba/issues/35). 237 | 238 | ## Style Guides 239 | 240 | - [RubberDuck's style guide](https://rubberduckvba.wordpress.com/2021/05/29/rubberduck-style-guide/) - Has some great intermediate - advanced guidance. 241 | - [VB6 Coding conventions](https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-basic-6/aa240822(v%3dvs.60)) - Variable/Class/Module naming conventions used in VBA. Greatly helps organisation in VBE (unless you have rubberduck). 242 | 243 | ## Information 244 | 245 | - [Thunder - The birth of Visual Basic](http://www.forestmoon.com/birthofvb/birthofvb.html) - A little article about the birth of VB7/VBA. 246 | - [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. 247 | - [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. 248 | - [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. 249 | - [How many lines of code in EB](http://bbs.vbstreets.ru/viewtopic.php?f=101&t=56633) - Untranlated article by Russian VBer `Хакер` which estimates the number of lines of code in VB6/VBA. 250 | - [SAFEARRAYS](https://www.vbforums.com/showthread.php?895566-RESOLVED-SAFEARRAY-Structure-for-an-Array) - The internal structure of arrays. 251 | - [Articles by Sancarn](https://sancarn.github.io/vba-articles) - Various articles written by Sancarn about VBA including, performance, actual issues with VBA etc. 252 | 253 | ## Resources 254 | 255 | ### Win32 API Resources 256 | 257 | - [JKP API Declarations](https://jkp-ads.com/Articles/apideclarations.asp) 258 | - [Microsoft Office Code Compatibility Inspector](https://docs.microsoft.com/en-us/previous-versions/office/office-2010/ee833946(v=office.14)) - The Microsoft Office Code Compatibility Inspector was designed by Microsoft to troubleshoot compatibility issues with VBA code as when upgrading Office from 32-bit to 64-bit. MS has not maintained a link to the software for download from its servers, though versions of it are apparently available on the internet. 259 | 260 | ### VB6 / VBScript 261 | 262 | - [Planet Source Code](https://github.com/Planet-Source-Code/PSCIndex) - A code repository GitHub which holds copious amounts of code. The site was closed down in 2023, but fortunately all VBA/VB6 samples were archived on GitHub today. Possibly not the entire collection (?) of projects/source code that was previously available at the PSC website. 263 | - [vbAccelerator Archive](https://github.com/tannerhelland/vbAccelerator-Archive) - Archived copy of vbAccelerator site (articles, source code, etc.) that disappeared in 2015, reappeared in 2018, and anyone's guess what's going to next… Primarily VB6, but useful VBA resource. 264 | 265 | ### Websites 266 | 267 | - [Excel Development Platform Blog](https://exceldevelopmentplatform.blogspot.com/) - Blog dealing with advanced topics/VBA. 268 | - [MSDN VBA Documentation](https://msdn.microsoft.com/en-us/vba/office-vba-reference) 269 | - [MS-VBAL Language Spec](https://docs.microsoft.com/en-gb/openspecs/microsoft_general_purpose_programming_languages/ms-vbal/d5418146-0bd2-45eb-9c7a-fd9502722c74) 270 | - [Ron de Bruin](https://web.archive.org/web/20230806005811/https://www.rondebruin.nl/index.htm) - Simple-Intermediate topics. Note: Ron has archived all these sites, it will not be updated, and some information is out of date, yet it is still an incredible resource for VBA. 271 | - [Bytecomb VBA Reference](https://bytecomb.com/vba-reference/) - Intermediate-advanced topics. 272 | - [Chip Pearson's website](http://www.cpearson.com/excel) - Great resource for beginners-intermediate. 273 | - [VBA for smarties](http://www.snb-vba.eu/inhoud_en.html) - A great reference to numerous data structures and mechanics. 274 | - [Rubberduck Blog](https://rubberduckvba.wordpress.com/) - Intermediate-Advanced topics. 275 | - [![a_ol]](#-) [Slipstick](https://www.slipstick.com/) - Website of Diane Poremsky (MVP) with focus on Outlook and VBA. 276 | - [![a_ol]](#-) [TechnicLee](https://techniclee.wordpress.com/) - Outlook blog, many examples including code variations depending on user request. 277 | - [![a_pp]](#-) [PowerPoint VBA](https://pptvba.com/) - A site devoted to teaching VBA through making games in PowerPoint. 278 | - [MS KB Archive](https://github.com/jeffpar/kbarchive/tree/master/id/vbwin) - Massive archive of vb6/vba problems, solutions and tutorials. 279 | - [Sancarn's vba-articles](https://sancarn.github.io/vba-articles/) - Sancarn's articles on various topics related to VBA. 280 | - [![a_ac]](#-) [No Longer Set](https://nolongerset.com) - Access + VBA site of Microsoft MVP Mike Wolfe. Provides weekly updates on development of TwinBasic. 281 | - [![a_ac]](#-) [Isladogs on Access](https://isladogs.co.uk/) - Access + VBA site of Microsoft MVP Colin Riddington. Excellent resource with VBA projects in Access VBA. 282 | - [![a_ac]](#-) [DevHut](https://www.devhut.net/) - Access + VBA site of Daniel Pineault. Publishes series of deep-dive articles into various uses of VBA. Companion site to Youtube account. 283 | 284 | ### Books 285 | 286 | - [Hard Core Visual Basic](https://classicvb.net/hardweb/mckinney.htm) - An advanced programmer's guide to the new 5.0 version of Visual Basic. Includes a core set of utilities, shortcuts, and solutions to problems to achieve a wide range of functional programs. A hard book also exists. Also check out the [Comments and corrections](https://jeffpar.github.io/kbarchive/kb/173/Q173840/). 287 | - [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. 288 | - [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. 289 | - [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. 290 | - [![o_paid]](#- '~$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. 291 | - [![o_paid]](#- '~$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. 292 | - [(E-Book) VBA beginners](https://goalkicker.com/VBABook/) 293 | - [(E-Book) Excel VBA beginners](https://goalkicker.com/ExcelVBABook/) 294 | 295 | ### YouTube 296 | 297 | - [Excel Macro Mastery](https://www.youtube.com/c/Excelmacromastery) - Paul Kelly (MVP) - excelmacromastery.com. 298 | - [Sigma Coding](https://www.youtube.com/c/SigmaCoding) - Large catalogue of tutorials - beginner through to advanced. Delves into interesting areas of VBA not explored by other content creators. 299 | - [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. 300 | - [![o_paid]](#- '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 interesting and different topics - in-depth tutorials into different parts of VBA, with some .NET/VSTO videos. Strong focus on UI development. 301 | - [Excel VBA Is Fun](https://www.youtube.com/c/ExcelVbaIsFun) 302 | - [Excel for Freelancers](https://www.youtube.com/c/ExcelForFreelancers) - Hands-on tutorials to developing specific applications from beginning through to end. All levels. 303 | - [Leila Gharani](https://www.youtube.com/c/LeilaGharani) - Office-wide focus - useful for beginners. 304 | - [![o_paid]](#- 'The video is from a consultant. Many of his videos are paid for.') [Get to know VBA](https://youtu.be/MFR_XARJjoY) - Some great applications presented and created with VBA. 305 | - [![a_ac]](#-) [D Pineault - Tech, Programming and more](https://www.youtube.com/channel/UC9lSC6AT4d0qour-aIbMjFQ) - Youtube channel of Daniel Pineault. Companion channel to DevHut site. 306 | 307 | ### Forums 308 | 309 | - [Reddit](http://reddit.co.uk/r/vba) - Daily VBA Q&A. Occasional Pro-Tip sharing and Show & Tell library publishing. 310 | - [Stack Overflow](https://stackoverflow.com/questions/tagged/vba) - A great place to ask questions. Duplicate questions are flagged as duplicates and send the author to the correct place. 311 | - [Chandoo](https://chandoo.org/wp/) - Forum for the Chandoo - the blog of Purna Duggirala (MVP). Very active. 312 | - [Visual Basic Discord](https://discord.gg/gpcSue9f) - A chat room for VB.NET/VBA/VB6 fanatics. 313 | - [Excel Discord](https://discord.gg/PU2vVDeb) - Discord server moderated by Tim Heng (Excel MVP) with focus on helping Excel users. 314 | - [MrExcel](https://www.mrexcel.com/board/) - Mostly Excel generic, but a lot of VBA content can be found here also. 315 | - [Excel Forum](https://www.excelforum.com/) 316 | - [![a_ol]](#-) [Slipstick](https://www.forums.slipstick.com) - Excellent forum for the Slipstick website (Outlook VBA) of Diane Poremsky (MVP). Diane is quick to respond, and her answers are extremely helpful. 317 | - [VBForums - Office Development](https://www.vbforums.com/forumdisplay.php?37-Office-Development) - Forum with focus on VB6/.NET with VBA section. 318 | - [![a_ac]](#-) [Access World](https://www.access-programmers.co.uk/forums/forums/modules-vba.12/) - Forum with focus on Access and Access VBA. 319 | 320 | ## Footnotes 321 | 322 | ### Symbology 323 | 324 | 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. 325 | 326 | #### Platform Compatibility 327 | 328 | [p_all]: ./resources/Crown.svg 'Compatible on all platforms' 329 | [p_mac]: ./resources/AppleLogo.svg 'macOS' 330 | [p_win]: ./resources/WindowsLogo.svg 'Windows OS' 331 | [p_now]: ./resources/NotApplicable.svg 'Not Windows OS' 332 | [p_nom]: ./resources/NotApplicable.svg 'Not macOS' 333 | 334 | - [![p_win]](#-) [![p_mac]](#-) - Available on all platforms 335 | - [![p_win]](#-) [![p_nom]](#-) - Available on Windows OS only 336 | - [![p_now]](#-) [![p_mac]](#-) - Available on Mac OS only 337 | 338 | #### Application compatibility 339 | 340 | [a_all]: ./resources/OfficeLogoPlus.svg 'All applications' 341 | [a_wd]: ./resources/WordLogo.svg 'Word' 342 | [a_xl]: ./resources/ExcelLogo.svg 'Excel' 343 | [a_ac]: ./resources/AccessLogo.svg 'Access' 344 | [a_ol]: ./resources/OutlookLogo.svg 'Outlook' 345 | [a_pp]: ./resources/PowerPointLogo.svg 'PowerPoint' 346 | [a_misc]: ./resources/Duck.svg 347 | 348 | - [![a_all]](#-) - All applications 349 | - [![a_wd]](#-) - Word 350 | - [![a_xl]](#-) - Excel 351 | - [![a_ac]](#-) - Access 352 | - [![a_ol]](#-) - Outlook 353 | - [![a_pp]](#-) - PowerPoint 354 | - [![a_misc]](#- 'Misc') - Miscellaneous applications (MS Project, AutoCAD, etc.) - Specify in short description 355 | 356 | #### Other important information 357 | 358 | [o_32]: ./resources/32-Bit.svg '32-bit only' 359 | [o_pass]: ./resources/Padlock.svg 'VBA is password protected' 360 | [o_dll]: ./resources/Dependencies.svg 361 | [o_inst]: ./resources/Installation.svg 'Requires installation' 362 | [o_paid]: ./resources/Money.svg 363 | 364 | - [![o_32]](#-) - 32-bit only 365 | - [![o_pass]](#-) - Written in VBA but the code is password protected 366 | - [![o_dll]](#- 'Requires external dependencies') - Requires external dependencies e.g. `.dll`, `.ocx`, `.o`, etc. 367 | - [![o_inst]](#-) - Requires installation 368 | - [![o_paid]](#- 'Link includes/leads to paid content') - Link includes/leads to paid content 369 | 370 | ## Contributing 371 | 372 | Your contributions are always welcome! Please take a look at the [contribution guidelines](./Contributing.md) first. 373 | -------------------------------------------------------------------------------- /resources/32-Bit.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <svg 3 | height="18" 4 | fill="#000000" 5 | version="1.1" 6 | id="Layer_1" 7 | viewBox="0 0 18 72" 8 | enable-background="new 0 0 72 72" 9 | sodipodi:docname="32-Bit.svg" 10 | width="18" 11 | inkscape:version="1.2.2 (732a01da63, 2022-12-09)" 12 | xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 13 | xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 14 | xmlns="http://www.w3.org/2000/svg" 15 | xmlns:svg="http://www.w3.org/2000/svg"> 16 | <defs 17 | id="defs89" /> 18 | <sodipodi:namedview 19 | id="namedview87" 20 | pagecolor="#505050" 21 | bordercolor="#eeeeee" 22 | borderopacity="1" 23 | inkscape:showpageshadow="0" 24 | inkscape:pageopacity="0" 25 | inkscape:pagecheckerboard="0" 26 | inkscape:deskcolor="#505050" 27 | showgrid="false" 28 | inkscape:zoom="23.766645" 29 | inkscape:cx="9.8036557" 30 | inkscape:cy="10.05611" 31 | inkscape:window-width="1920" 32 | inkscape:window-height="1009" 33 | inkscape:window-x="-8" 34 | inkscape:window-y="-8" 35 | inkscape:window-maximized="1" 36 | inkscape:current-layer="g84" /> 37 | <g 38 | id="g84" 39 | transform="translate(-26.657858,-0.29752064)"> 40 | <rect 41 | style="fill:#c87137;stroke-width:4" 42 | id="rect604" 43 | width="34.838741" 44 | height="34.922894" 45 | x="19.265169" 46 | y="18.642559" /> 47 | <g 48 | id="g10" 49 | style="fill:#552200"> 50 | <g 51 | id="g6" 52 | style="fill:#552200"> 53 | <path 54 | d="M 49.83,56.5 H 22.17 c -3.927,0 -5.965,-2.426 -5.965,-5.899 V 22.94 c 0,-3.513 2.147,-7.44 5.965,-7.44 h 27.66 c 3.817,0 7.375,3.928 7.375,7.44 V 50.6 c 0,3.474 -3.448,5.9 -7.375,5.9 z m -27.66,-37 c -1.298,0 -1.965,1.769 -1.965,3.44 V 50.6 c 0,1.652 0.968,1.899 1.965,1.899 h 27.66 c 0.997,0 3.375,-0.247 3.375,-1.899 V 22.94 c 0,-1.672 -2.077,-3.44 -3.375,-3.44 z" 55 | id="path4" 56 | style="fill:#552200" /> 57 | </g> 58 | <text 59 | xml:space="preserve" 60 | style="font-size:21.3333px;font-family:Arial;-inkscape-font-specification:Arial;fill:#552200;stroke-width:4" 61 | x="25.913143" 62 | y="43.719723" 63 | id="text760"><tspan 64 | sodipodi:role="line" 65 | id="tspan758" 66 | style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:21.3333px;font-family:Bahnschrift;-inkscape-font-specification:'Bahnschrift Bold';fill:#552200;stroke-width:4" 67 | x="25.913143" 68 | y="43.719723">32</tspan></text> 69 | </g> 70 | <g 71 | id="g28" 72 | style="fill:#552200"> 73 | <g 74 | id="g14" 75 | style="fill:#552200"> 76 | <path 77 | d="m 67.5,23.5 h -5 c -1.104,0 -2,-0.896 -2,-2 0,-1.104 0.896,-2 2,-2 h 5 c 1.104,0 2,0.896 2,2 0,1.104 -0.896,2 -2,2 z" 78 | id="path12" 79 | style="fill:#552200" /> 80 | </g> 81 | <g 82 | id="g18" 83 | style="fill:#552200"> 84 | <path 85 | d="m 67.5,34.5 h -5 c -1.104,0 -2,-0.896 -2,-2 0,-1.104 0.896,-2 2,-2 h 5 c 1.104,0 2,0.896 2,2 0,1.104 -0.896,2 -2,2 z" 86 | id="path16" 87 | style="fill:#552200" /> 88 | </g> 89 | <g 90 | id="g22" 91 | style="fill:#552200"> 92 | <path 93 | d="m 67.5,44.5 h -5 c -1.104,0 -2,-0.896 -2,-2 0,-1.104 0.896,-2 2,-2 h 5 c 1.104,0 2,0.896 2,2 0,1.104 -0.896,2 -2,2 z" 94 | id="path20" 95 | style="fill:#552200" /> 96 | </g> 97 | <g 98 | id="g26" 99 | style="fill:#552200"> 100 | <path 101 | d="m 67.5,53.5 h -5 c -1.104,0 -2,-0.896 -2,-2 0,-1.104 0.896,-2 2,-2 h 5 c 1.104,0 2,0.896 2,2 0,1.104 -0.896,2 -2,2 z" 102 | id="path24" 103 | style="fill:#552200" /> 104 | </g> 105 | </g> 106 | <g 107 | id="g46" 108 | style="fill:#552200"> 109 | <g 110 | id="g32" 111 | style="fill:#552200"> 112 | <path 113 | d="m 21.205,12.5 c -1.104,0 -2,-0.896 -2,-2 v -5 c 0,-1.104 0.896,-2 2,-2 1.104,0 2,0.896 2,2 v 5 c 0,1.104 -0.895,2 -2,2 z" 114 | id="path30" 115 | style="fill:#552200" /> 116 | </g> 117 | <g 118 | id="g36" 119 | style="fill:#552200"> 120 | <path 121 | d="m 31.205,12.5 c -1.104,0 -2,-0.896 -2,-2 v -5 c 0,-1.104 0.896,-2 2,-2 1.104,0 2,0.896 2,2 v 5 c 0,1.104 -0.895,2 -2,2 z" 122 | id="path34" 123 | style="fill:#552200" /> 124 | </g> 125 | <g 126 | id="g40" 127 | style="fill:#552200"> 128 | <path 129 | d="m 42.205,12.5 c -1.104,0 -2,-0.896 -2,-2 v -5 c 0,-1.104 0.896,-2 2,-2 1.104,0 2,0.896 2,2 v 5 c 0,1.104 -0.895,2 -2,2 z" 130 | id="path38" 131 | style="fill:#552200" /> 132 | </g> 133 | <g 134 | id="g44" 135 | style="fill:#552200"> 136 | <path 137 | d="m 51.205,12.5 c -1.104,0 -2,-0.896 -2,-2 v -5 c 0,-1.104 0.896,-2 2,-2 1.104,0 2,0.896 2,2 v 5 c 0,1.104 -0.895,2 -2,2 z" 138 | id="path42" 139 | style="fill:#552200" /> 140 | </g> 141 | </g> 142 | <g 143 | id="g64" 144 | style="fill:#552200"> 145 | <g 146 | id="g50" 147 | style="fill:#552200"> 148 | <path 149 | d="m 21.205,68.5 c -1.104,0 -2,-0.896 -2,-2 v -5 c 0,-1.104 0.896,-2 2,-2 1.104,0 2,0.896 2,2 v 5 c 0,1.104 -0.895,2 -2,2 z" 150 | id="path48" 151 | style="fill:#552200" /> 152 | </g> 153 | <g 154 | id="g54" 155 | style="fill:#552200"> 156 | <path 157 | d="m 31.205,68.5 c -1.104,0 -2,-0.896 -2,-2 v -5 c 0,-1.104 0.896,-2 2,-2 1.104,0 2,0.896 2,2 v 5 c 0,1.104 -0.895,2 -2,2 z" 158 | id="path52" 159 | style="fill:#552200" /> 160 | </g> 161 | <g 162 | id="g58" 163 | style="fill:#552200"> 164 | <path 165 | d="m 42.205,68.5 c -1.104,0 -2,-0.896 -2,-2 v -5 c 0,-1.104 0.896,-2 2,-2 1.104,0 2,0.896 2,2 v 5 c 0,1.104 -0.895,2 -2,2 z" 166 | id="path56" 167 | style="fill:#552200" /> 168 | </g> 169 | <g 170 | id="g62" 171 | style="fill:#552200"> 172 | <path 173 | d="m 51.205,68.5 c -1.104,0 -2,-0.896 -2,-2 v -5 c 0,-1.104 0.896,-2 2,-2 1.104,0 2,0.896 2,2 v 5 c 0,1.104 -0.895,2 -2,2 z" 174 | id="path60" 175 | style="fill:#552200" /> 176 | </g> 177 | </g> 178 | <g 179 | id="g82" 180 | style="fill:#552200"> 181 | <g 182 | id="g68" 183 | style="fill:#552200"> 184 | <path 185 | d="m 9.5,23.5 h -5 c -1.104,0 -2,-0.896 -2,-2 0,-1.104 0.896,-2 2,-2 h 5 c 1.104,0 2,0.896 2,2 0,1.104 -0.896,2 -2,2 z" 186 | id="path66" 187 | style="fill:#552200" /> 188 | </g> 189 | <g 190 | id="g72" 191 | style="fill:#552200"> 192 | <path 193 | d="m 9.5,34.5 h -5 c -1.104,0 -2,-0.896 -2,-2 0,-1.104 0.896,-2 2,-2 h 5 c 1.104,0 2,0.896 2,2 0,1.104 -0.896,2 -2,2 z" 194 | id="path70" 195 | style="fill:#552200" /> 196 | </g> 197 | <g 198 | id="g76" 199 | style="fill:#552200"> 200 | <path 201 | d="m 9.5,44.5 h -5 c -1.104,0 -2,-0.896 -2,-2 0,-1.104 0.896,-2 2,-2 h 5 c 1.104,0 2,0.896 2,2 0,1.104 -0.896,2 -2,2 z" 202 | id="path74" 203 | style="fill:#552200" /> 204 | </g> 205 | <g 206 | id="g80" 207 | style="fill:#552200"> 208 | <path 209 | d="m 9.5,53.5 h -5 c -1.104,0 -2,-0.896 -2,-2 0,-1.104 0.896,-2 2,-2 h 5 c 1.104,0 2,0.896 2,2 0,1.104 -0.896,2 -2,2 z" 210 | id="path78" 211 | style="fill:#552200" /> 212 | </g> 213 | </g> 214 | </g> 215 | </svg> 216 | -------------------------------------------------------------------------------- /resources/AccessLogo.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 3 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ 4 | <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/"> 5 | <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/"> 6 | <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/"> 7 | <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/"> 8 | <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/"> 9 | <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/"> 10 | <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/"> 11 | <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/"> 12 | ]> 13 | <svg height="18" version="1.1" id="Livello_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" 14 | xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1993.481 1947.121" 15 | enable-background="new 0 0 1993.481 1947.121" xml:space="preserve"> 16 | <metadata> 17 | <sfw xmlns="&ns_sfw;"> 18 | <slices></slices> 19 | <sliceSourceBounds bottomLeftOrigin="true" height="1947.121" width="1993.481" x="-995.92" y="-949.56"></sliceSourceBounds> 20 | </sfw> 21 | </metadata> 22 | <path fill="#881421" d="M463.6,1251.72v463.6c0,128,342.462,231.8,764.94,231.8s764.94-103.8,764.94-231.8v-463.6H463.6z"/> 23 | <path fill="#AF2031" d="M463.6,741.76v509.96c0,128,342.462,231.8,764.94,231.8s764.94-103.8,764.94-231.8V741.76H463.6z"/> 24 | <path fill="#C94F60" d="M463.6,231.8v509.96c0,128,342.462,231.8,764.94,231.8s764.94-103.8,764.94-231.8V231.8H463.6z"/> 25 | <ellipse fill="#E08095" cx="1228.541" cy="231.8" rx="764.94" ry="231.8"/> 26 | <path opacity="0.1" enable-background="new " d="M1027.662,417.24H463.6v1159h564.062c46.869-0.153,84.825-38.109,84.978-84.978 27 | V502.218C1112.488,455.349,1074.531,417.393,1027.662,417.24z"/> 28 | <path opacity="0.2" enable-background="new " d="M981.302,463.6H463.6v1159h517.702c46.869-0.153,84.825-38.109,84.978-84.978 29 | V548.578C1066.128,501.709,1028.171,463.753,981.302,463.6z"/> 30 | <path opacity="0.2" enable-background="new " d="M981.302,463.6H463.6v1066.28h517.702c46.869-0.153,84.825-38.109,84.978-84.978 31 | V548.578C1066.128,501.709,1028.171,463.753,981.302,463.6z"/> 32 | <path opacity="0.2" enable-background="new " d="M934.943,463.6H463.6v1066.28h471.342c46.869-0.153,84.825-38.109,84.978-84.978 33 | V548.578C1019.768,501.709,981.811,463.753,934.943,463.6z"/> 34 | <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="177.1808" y1="1551.9205" x2="842.7396" y2="399.2002" gradientTransform="matrix(1 0 0 -1 0 1949.1207)"> 35 | <stop offset="0" style="stop-color:#B72C3F"/> 36 | <stop offset="0.5" style="stop-color:#B12334"/> 37 | <stop offset="1" style="stop-color:#9D1623"/> 38 | </linearGradient> 39 | <path fill="url(#SVGID_1_)" d="M84.978,463.6h849.965c46.932,0,84.978,38.046,84.978,84.978v849.964 40 | c0,46.932-38.046,84.978-84.978,84.978H84.978c-46.932,0-84.978-38.046-84.978-84.978V548.578C0,501.646,38.046,463.6,84.978,463.6z 41 | "/> 42 | <path fill="#FFFFFF" d="M448.904,697.301h125.172l201.11,552.472H656.968l-44.32-131.755H405.743l-43.532,131.755H244.735 43 | L448.904,697.301z M586.037,1032.901l-64.301-199.951c-5.257-14.656-9.198-29.752-11.775-45.108h-2.318 44 | c-2.39,15.78-6.255,31.302-11.544,46.36l-64.904,198.792L586.037,1032.901z"/> 45 | </svg> 46 | -------------------------------------------------------------------------------- /resources/AppleLogo.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <svg width="18" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 814 1000"> 3 | <path d="M788.1 340.9c-5.8 4.5-108.2 62.2-108.2 190.5 0 148.4 130.3 200.9 134.2 202.2-.6 3.2-20.7 71.9-68.7 141.9-42.8 61.6-87.5 123.1-155.5 123.1s-85.5-39.5-164-39.5c-76.5 0-103.7 40.8-165.9 40.8s-105.6-57-155.5-127C46.7 790.7 0 663 0 541.8c0-194.4 126.4-297.5 250.8-297.5 66.1 0 121.2 43.4 162.7 43.4 39.5 0 101.1-46 176.3-46 28.5 0 130.9 2.6 198.3 99.2zm-234-181.5c31.1-36.9 53.1-88.1 53.1-139.3 0-7.1-.6-14.3-1.9-20.1-50.6 1.9-110.8 33.7-147.1 75.8-28.5 32.4-55.1 83.6-55.1 135.5 0 7.8 1.3 15.6 1.9 18.1 3.2.6 8.4 1.3 13.6 1.3 45.4 0 102.5-30.4 135.5-71.3z" style="fill: rgb(149, 149, 149);"/> 4 | </svg> -------------------------------------------------------------------------------- /resources/Crown.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools --> 3 | <svg height="18" viewBox="0 0 1024 1024" class="icon" version="1.1" 4 | xmlns="http://www.w3.org/2000/svg"> 5 | <path d="M57 438.312l109.536 488.72h697.336l109.536-488.72-259.176 156.816-187.856-333.088-205.352 333.088z" fill="#EC9312" /> 6 | <path d="M629.048 211.888c0 58.912-47.752 106.656-106.672 106.656-58.92 0-106.664-47.744-106.664-106.656 0-58.976 47.744-106.656 106.664-106.656s106.672 47.688 106.672 106.656z" fill="#CB1B5B" /> 7 | <path d="M522.376 105.232c-58.92 0-106.664 47.68-106.664 106.656 0 58.912 47.744 106.656 106.664 106.656V105.232z" fill="#E5226B" /> 8 | <path d="M57 438.312l109.536 488.72h697.336z" fill="#F4A832" /> 9 | <path d="M973.408 438.312l-109.536 488.72H166.536z" fill="#F4A832" /> 10 | <path d="M166.536 927.032h697.336L515.2 715.832z" fill="#F5B617" /> 11 | <path d="M1017.856 409.44a55.2 55.2 0 0 1-55.264 55.208 55.184 55.184 0 0 1-55.216-55.208 55.2 55.2 0 0 1 55.216-55.264 55.2 55.2 0 0 1 55.264 55.264z" fill="#0472AF" /> 12 | <path d="M962.592 354.176a55.2 55.2 0 0 0-55.216 55.264 55.184 55.184 0 0 0 55.216 55.208V354.176z" fill="#1A8DCC" /> 13 | <path d="M116.656 409.44a55.216 55.216 0 0 1-55.272 55.208A55.208 55.208 0 0 1 6.144 409.44a55.208 55.208 0 0 1 55.24-55.264 55.224 55.224 0 0 1 55.272 55.264z" fill="#0472AF" /> 14 | <path d="M61.384 354.176A55.216 55.216 0 0 0 6.144 409.44a55.2 55.2 0 0 0 55.24 55.208V354.176z" fill="#0092D2" /> 15 | </svg> -------------------------------------------------------------------------------- /resources/Dependencies.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <!-- Created with Inkscape (http://www.inkscape.org/) --> 3 | 4 | <svg 5 | width="18" 6 | height="18" 7 | viewBox="0 0 16 16" 8 | version="1.1" 9 | id="svg5" 10 | xml:space="preserve" 11 | inkscape:version="1.2.2 (732a01da63, 2022-12-09)" 12 | sodipodi:docname="VBAAwesomeDependencies.svg" 13 | xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 14 | xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 15 | xmlns:xlink="http://www.w3.org/1999/xlink" 16 | xmlns="http://www.w3.org/2000/svg" 17 | xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview 18 | id="namedview7" 19 | pagecolor="#505050" 20 | bordercolor="#eeeeee" 21 | borderopacity="1" 22 | inkscape:showpageshadow="0" 23 | inkscape:pageopacity="0" 24 | inkscape:pagecheckerboard="0" 25 | inkscape:deskcolor="#505050" 26 | inkscape:document-units="px" 27 | showgrid="false" 28 | inkscape:zoom="36.63697" 29 | inkscape:cx="8.5978726" 30 | inkscape:cy="9.6623711" 31 | inkscape:window-width="1920" 32 | inkscape:window-height="1009" 33 | inkscape:window-x="-8" 34 | inkscape:window-y="-8" 35 | inkscape:window-maximized="1" 36 | inkscape:current-layer="layer1" /><defs 37 | id="defs2" /><g 38 | inkscape:label="Layer 1" 39 | inkscape:groupmode="layer" 40 | id="layer1"><rect 41 | style="fill:#333333;stroke-width:2.32995" 42 | id="rect352-0" 43 | width="11.525709" 44 | height="1.4001197" 45 | x="-2.8341143" 46 | y="-14.705728" 47 | transform="matrix(0.7817209,-0.62362844,-0.33892671,-0.94081278,0,0)" /><rect 48 | style="fill:#333333;stroke-width:2.34906" 49 | id="rect352-0-2" 50 | width="11.583592" 51 | height="1.4160724" 52 | x="3.3749983" 53 | y="-1.7818538" 54 | transform="matrix(0.77781458,0.62849382,-0.33510854,0.94217953,0,0)" /><path 55 | id="rect111" 56 | d="M 0.6779609,0.33596273 H 4.8231141 C 5.5996543,0.98659407 5.3523407,0.80267779 6.2257307,1.6227262 V 7.6507999 H 0.6779609 Z" 57 | sodipodi:nodetypes="cccccc" 58 | style="fill:#999999;stroke-width:2.12921" /><path 59 | id="rect111-6" 60 | d="M 0.63817516,8.059557 H 4.9255105 C 5.7286867,8.7325042 5.4728901,8.5422802 6.376238,9.3904565 V 15.625298 H 0.63817516 Z" 61 | sodipodi:nodetypes="cccccc" 62 | style="fill:#b3b3b3;stroke-width:2.20225" /><text 63 | xml:space="preserve" 64 | style="font-size:1.33333px;line-height:0.8;fill:#333333" 65 | x="1.410298" 66 | y="4.1994843" 67 | id="text479"><tspan 68 | sodipodi:role="line" 69 | x="1.410298" 70 | y="4.1994843" 71 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:1.33333px;font-family:Arial;-inkscape-font-specification:Arial;fill:#000000" 72 | id="tspan531">xxxxxx</tspan><tspan 73 | sodipodi:role="line" 74 | x="1.410298" 75 | y="5.2815828" 76 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:1.33333px;font-family:Arial;-inkscape-font-specification:Arial;fill:#000000" 77 | id="tspan535">xxxxxx</tspan><tspan 78 | sodipodi:role="line" 79 | x="1.410298" 80 | y="6.3636813" 81 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:1.33333px;font-family:Arial;-inkscape-font-specification:Arial;fill:#000000" 82 | id="tspan539">xxxxxx</tspan></text><text 83 | xml:space="preserve" 84 | style="font-size:1.33333px;line-height:0.8;fill:#333333" 85 | x="1.3982402" 86 | y="12.939566" 87 | id="text479-9"><tspan 88 | sodipodi:role="line" 89 | x="1.3982402" 90 | y="12.939566" 91 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:1.33333px;font-family:Arial;-inkscape-font-specification:Arial;fill:#000000" 92 | id="tspan531-3">xxxxxx</tspan><tspan 93 | sodipodi:role="line" 94 | x="1.3982402" 95 | y="14.021665" 96 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:1.33333px;font-family:Arial;-inkscape-font-specification:Arial;fill:#000000" 97 | id="tspan535-3">xxxxxx</tspan><tspan 98 | sodipodi:role="line" 99 | x="1.3982402" 100 | y="15.103763" 101 | style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:1.33333px;font-family:Arial;-inkscape-font-specification:Arial;fill:#000000" 102 | id="tspan539-3">xxxxxx</tspan></text><image 103 | width="10.208192" 104 | height="6.1392407" 105 | preserveAspectRatio="none" 106 | xlink:href="data:image/png;base64,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 790 | " 791 | id="image707" 792 | x="5.3353953" 793 | y="4.7484021" 794 | transform="rotate(0.360096)" /></g></svg> 795 | -------------------------------------------------------------------------------- /resources/Duck.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools --> 2 | <svg height="18" viewBox="0 0 36 36" 3 | xmlns="http://www.w3.org/2000/svg" 4 | xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--twemoji" preserveAspectRatio="xMidYMid meet"> 5 | <path fill="#D99E82" d="M12.75 17.75c1.226 2.195 1.856-1.361 9.312-2.625s13.729 4.454 13.859 5.413c.132.958-4.447 9.462-9.462 9.462H10.75c-4.143 0-7.022-7.224-4-11.438c0 0 4.5-3.5 6-.812z"></path> 6 | <path fill="#C1694F" d="M13.008 18.136C8.02 25.073 6.969 30 10.75 30c-4.143 0-6.578-6.188-4.468-11.031c.463-1.064 1.758-2.492 1.758-2.492l4.179-.008c.162.32.599 1.365.789 1.667z"></path> 7 | <path fill="#E1E8ED" d="M20.062 22.75c6.672-2.682 15.729-3.171 15.859-2.212c.132.958-4.447 9.462-9.462 9.462H11.813c-4.143 0 1.232-4.429 8.249-7.25z"></path> 8 | <path fill="#292F33" d="M25.359 21.125c6-1.312 10.468-1.282 10.563-.587c.079.578-1.559 3.907-3.973 6.454c2.204-2.804 1.42-6.113-6.59-5.867z"></path> 9 | <path fill="#3E721D" d="M7.125 6.125c1.562-4.938 10.44-4.143 10.062.688c-.378 4.829-6.453 7.859-4.179 11.323c-1.586 1.38-5.016.913-6.727.833a156.185 156.185 0 0 1 1.812-3.406c2.916-5.235-2.131-5.764-.968-9.438z"></path> 10 | <path fill="#FFCC4D" d="M1.893 9.045c.568-1.1.549.106 3.352.142c1.554.021 1.463-.56 1.664-1.621c.041-.223.776 1.616 2.061 1.807c3.554.531 1.879 1.94 0 2.261c-.901.154-2.01.318-3.938.155c-2.519-.212-3.768-1.528-3.139-2.744z"></path> 11 | <path fill="#F5F8FA" d="M12.502 16.625c.044.625.506 1.511.506 1.511c-1.016 1.474-5.643 3.017-7.354 2.93a7.728 7.728 0 0 1 .627-2.097c1.844-.471 4.661-1.071 6.221-2.344z"></path> 12 | <path fill="#292F33" d="M11.708 6.151a1.296 1.296 0 1 1-2.591 0a1.296 1.296 0 0 1 2.591 0z"></path> 13 | </svg> -------------------------------------------------------------------------------- /resources/ExcelLogo.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 3 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ 4 | <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/"> 5 | <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/"> 6 | <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/"> 7 | <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/"> 8 | <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/"> 9 | <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/"> 10 | <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/"> 11 | <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/"> 12 | ]> 13 | <svg height="18" version="1.1" id="Livello_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" 14 | xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 2289.75 2130" 15 | enable-background="new 0 0 2289.75 2130" xml:space="preserve"> 16 | <metadata> 17 | <sfw xmlns="&ns_sfw;"> 18 | <slices></slices> 19 | <sliceSourceBounds bottomLeftOrigin="true" height="2130" width="2289.75" x="-1147.5" y="-1041"></sliceSourceBounds> 20 | </sfw> 21 | </metadata> 22 | <path fill="#185C37" d="M1437.75,1011.75L532.5,852v1180.393c0,53.907,43.7,97.607,97.607,97.607l0,0h1562.036 23 | c53.907,0,97.607-43.7,97.607-97.607l0,0V1597.5L1437.75,1011.75z"/> 24 | <path fill="#21A366" d="M1437.75,0H630.107C576.2,0,532.5,43.7,532.5,97.607c0,0,0,0,0,0V532.5l905.25,532.5L1917,1224.75 25 | L2289.75,1065V532.5L1437.75,0z"/> 26 | <path fill="#107C41" d="M532.5,532.5h905.25V1065H532.5V532.5z"/> 27 | <path opacity="0.1" enable-background="new " d="M1180.393,426H532.5v1331.25h647.893c53.834-0.175,97.432-43.773,97.607-97.607 28 | V523.607C1277.825,469.773,1234.227,426.175,1180.393,426z"/> 29 | <path opacity="0.2" enable-background="new " d="M1127.143,479.25H532.5V1810.5h594.643 30 | c53.834-0.175,97.432-43.773,97.607-97.607V576.857C1224.575,523.023,1180.977,479.425,1127.143,479.25z"/> 31 | <path opacity="0.2" enable-background="new " d="M1127.143,479.25H532.5V1704h594.643c53.834-0.175,97.432-43.773,97.607-97.607 32 | V576.857C1224.575,523.023,1180.977,479.425,1127.143,479.25z"/> 33 | <path opacity="0.2" enable-background="new " d="M1073.893,479.25H532.5V1704h541.393c53.834-0.175,97.432-43.773,97.607-97.607 34 | V576.857C1171.325,523.023,1127.727,479.425,1073.893,479.25z"/> 35 | <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="203.5132" y1="1729.0183" x2="967.9868" y2="404.9817" gradientTransform="matrix(1 0 0 -1 0 2132)"> 36 | <stop offset="0" style="stop-color:#18884F"/> 37 | <stop offset="0.5" style="stop-color:#117E43"/> 38 | <stop offset="1" style="stop-color:#0B6631"/> 39 | </linearGradient> 40 | <path fill="url(#SVGID_1_)" d="M97.607,479.25h976.285c53.907,0,97.607,43.7,97.607,97.607v976.285 41 | c0,53.907-43.7,97.607-97.607,97.607H97.607C43.7,1650.75,0,1607.05,0,1553.143V576.857C0,522.95,43.7,479.25,97.607,479.25z"/> 42 | <path fill="#FFFFFF" d="M302.3,1382.264l205.332-318.169L319.5,747.683h151.336l102.666,202.35 43 | c9.479,19.223,15.975,33.494,19.49,42.919h1.331c6.745-15.336,13.845-30.228,21.3-44.677L725.371,747.79h138.929l-192.925,314.548 44 | L869.2,1382.263H721.378L602.79,1160.158c-5.586-9.45-10.326-19.376-14.164-29.66h-1.757c-3.474,10.075-8.083,19.722-13.739,28.755 45 | l-122.102,223.011H302.3z"/> 46 | <path fill="#33C481" d="M2192.143,0H1437.75v532.5h852V97.607C2289.75,43.7,2246.05,0,2192.143,0L2192.143,0z"/> 47 | <path fill="#107C41" d="M1437.75,1065h852v532.5h-852V1065z"/> 48 | </svg> 49 | -------------------------------------------------------------------------------- /resources/Installation.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <svg height="18" viewBox="0 0 512 448" id="svg2" version="1.1" 3 | xmlns="http://www.w3.org/2000/svg"> 4 | <g id="layer1" transform="translate(0,-604.36224)"> 5 | <path id="path4136" transform="translate(0,604.36224)" style="fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; fill: rgb(150, 150, 150);" d="M 192,0 192,160 80,160 256,336 432,160 320,160 320,0 192,0 Z M 0,288 0,448 512,448 512,288 384,288 256,416 128,288 0,288 Z m 416,32 64,0 0,64 -64,0 0,-64 z"/> 6 | </g> 7 | </svg> -------------------------------------------------------------------------------- /resources/Money.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools --> 2 | <svg height="18" viewBox="0 0 36 36" 3 | xmlns="http://www.w3.org/2000/svg" 4 | xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--twemoji" preserveAspectRatio="xMidYMid meet"> 5 | <path fill="#5C913B" d="M2 11c-2 0-2 2-2 2v21s0 2 2 2h32c2 0 2-2 2-2V13s0-2-2-2H2z"></path> 6 | <path fill="#A7D28B" d="M2 6C0 6 0 8 0 8v20s0 2 2 2h32c2 0 2-2 2-2V8s0-2-2-2H2z"></path> 7 | <circle fill="#77B255" cx="25" cy="18" r="6.5"></circle> 8 | <path fill="#5C913B" d="M33 28.5H3c-.827 0-1.5-.673-1.5-1.5V9c0-.827.673-1.5 1.5-1.5h30c.827 0 1.5.673 1.5 1.5v18c0 .827-.673 1.5-1.5 1.5zM3 8.5a.5.5 0 0 0-.5.5v18c0 .275.225.5.5.5h30c.275 0 .5-.225.5-.5V9a.5.5 0 0 0-.5-.5H3z"></path> 9 | <path fill="#FFE8B6" d="M14 6h8v24.062h-8z"></path> 10 | <path fill="#FFAC33" d="M14 30h8v6h-8z"></path> 11 | <path fill="#5C913B" d="M11.81 20.023c0-2.979-5.493-2.785-5.493-4.584c0-.871.833-1.296 1.799-1.296c1.625 0 1.914 1.044 2.65 1.044c.521 0 .772-.328.772-.696c0-.856-1.296-1.502-2.539-1.726v-.825a.932.932 0 1 0-1.864 0v.853c-1.354.31-2.521 1.25-2.521 2.781c0 2.862 5.493 2.746 5.493 4.758c0 .695-.754 1.391-1.992 1.391c-1.857 0-2.476-1.257-3.229-1.257c-.368 0-.696.309-.696.775c0 .741 1.24 1.631 2.947 1.881l-.001.004v.934a.933.933 0 0 0 1.864 0v-.934c0-.01-.005-.019-.006-.028c1.535-.287 2.816-1.286 2.816-3.075z"></path> 12 | </svg> -------------------------------------------------------------------------------- /resources/NotApplicable.svg: -------------------------------------------------------------------------------- 1 | <svg width="18" height="18" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" overflow="hidden"><g transform="translate(-298 -1597)"><path d="M298.5 1606C298.5 1601.31 302.306 1597.5 307 1597.5 311.694 1597.5 315.5 1601.31 315.5 1606 315.5 1610.69 311.694 1614.5 307 1614.5 302.306 1614.5 298.5 1610.69 298.5 1606ZM311.678 1608.52C313.069 1605.94 312.102 1602.71 309.519 1601.32 307.946 1600.48 306.054 1600.48 304.481 1601.32ZM302.322 1603.48C300.931 1606.06 301.898 1609.29 304.481 1610.68 306.054 1611.52 307.946 1611.52 309.519 1610.68Z" stroke="#000000" stroke-width="0.25" stroke-miterlimit="8" fill="#959595" fill-rule="evenodd"/></g></svg> -------------------------------------------------------------------------------- /resources/OfficeLogoPlus.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="21" height="24" viewBox="1 -3 18 18" overflow="hidden"> 3 | <defs> 4 | <style> 5 | .cls-1{isolation:isolate;} 6 | .cls-2{opacity:0.2;} 7 | .cls-2,.cls-3,.cls-5{mix-blend-mode:multiply;} 8 | .cls-4{fill:#fff;} 9 | .cls-5{opacity:0.12;} 10 | .cls-6{fill:url(#linear-gradient);} 11 | .cls-7{fill:url(#linear-gradient-2);} 12 | .cls-8{fill:url(#linear-gradient-3);} 13 | .cls-9{fill:url(#linear-gradient-4);} 14 | .cls-10{fill:url(#linear-gradient-5);} 15 | .cls-11{fill:none;} 16 | </style> 17 | <linearGradient id="linear-gradient" gradientUnits="userSpaceOnUse" x1="45.200001" y1="-1.42" x2="45.200001" y2="57.799999"> 18 | <stop offset="0" stop-color="#ffb900"/> 19 | <stop offset="0.17" stop-color="#ef8400"/> 20 | <stop offset="0.31" stop-color="#e25c01"/> 21 | <stop offset="0.43" stop-color="#db4401"/> 22 | <stop offset="0.5" stop-color="#d83b01"/> 23 | </linearGradient> 24 | <linearGradient id="linear-gradient-2" gradientUnits="userSpaceOnUse" x1="34.52" y1="0.67000002" x2="3.1600001" y2="45.450001"> 25 | <stop offset="0" stop-color="#800600"/> 26 | <stop offset="0.6" stop-color="#c72127"/> 27 | <stop offset="0.73" stop-color="#c13959"/> 28 | <stop offset="0.85" stop-color="#bc4b81"/> 29 | <stop offset="0.94" stop-color="#b95799"/> 30 | <stop offset="1" stop-color="#b85ba2"/> 31 | </linearGradient> 32 | <linearGradient id="linear-gradient-3" gradientUnits="userSpaceOnUse" x1="18.5" y1="55.630001" x2="59.439999" y2="55.630001"> 33 | <stop offset="0" stop-color="#f32b44"/> 34 | <stop offset="0.6" stop-color="#a4070a"/> 35 | </linearGradient> 36 | <linearGradient id="linear-gradient-4" gradientUnits="userSpaceOnUse" x1="35.16" y1="-0.23999999" x2="28.52" y2="9.2399998"> 37 | <stop offset="0" stop-opacity="0.4"/> 38 | <stop offset="1" stop-opacity="0"/> 39 | </linearGradient> 40 | <linearGradient id="linear-gradient-5" gradientUnits="userSpaceOnUse" x1="46.32" y1="56.549999" x2="27.99" y2="54.950001"> 41 | <stop offset="0" stop-opacity="0.4"/> 42 | <stop offset="1" stop-opacity="0"/> 43 | </linearGradient> 44 | </defs> 45 | <g transform="matrix(0.045,0,0,0.045,1.5,1.5)"> 46 | <g transform="translate(-2.6132538,159.197)"> 47 | <g transform="matrix(4.7374532,0,0,4.7374532,66.576685,84.901518)" class="cls-1"> 48 | <g transform="translate(29.28236,-16.409933)"> 49 | <g> 50 | <g transform="matrix(1.0580252,0,0,1.0580252,-51.2482,-36.977403)"> 51 | <path d="M 34.41,2 39,12.5 V 49 L 34.48,62 51.57,57.13 A 6.12,6.12 0 0 0 56,51.26 V 12.74 A 6.11,6.11 0 0 0 51.56,6.86 Z" class="cls-6"/> 52 | <path d="m 12.74,48.61 5,-2.7 A 4.36,4.36 0 0 0 20,42.08 V 22.43 a 4.37,4.37 0 0 1 2.87,-4.1 L 39,12.5 V 8.07 A 6.32,6.32 0 0 0 34.41,2 6.18,6.18 0 0 0 32.68,1.76 v 0 A 6.41,6.41 0 0 0 29.54,2.59 L 11.08,13.12 A 6.1,6.1 0 0 0 8,18.42 v 27.36 a 3.21,3.21 0 0 0 4.74,2.83 z" class="cls-7"/> 53 | <path d="m 12.74,48.61 5,-2.7 A 4.36,4.36 0 0 0 20,42.08 V 22.43 a 4.37,4.37 0 0 1 2.87,-4.1 L 39,12.5 V 8.07 A 6.32,6.32 0 0 0 34.41,2 6.18,6.18 0 0 0 32.68,1.76 v 0 A 6.41,6.41 0 0 0 29.54,2.59 L 11.08,13.12 A 6.1,6.1 0 0 0 8,18.42 v 27.36 a 3.21,3.21 0 0 0 4.74,2.83 z" class="cls-9"/> 54 | <path d="M 39,49 H 19.93 a 3.22,3.22 0 0 0 -1.59,6 l 11.36,6.44 a 6.2,6.2 0 0 0 3.07,0.81 v 0 A 6,6 0 0 0 34.48,62 6.22,6.22 0 0 0 39,56 Z" class="cls-8"/> 55 | <path d="M 39,49 H 19.93 a 3.22,3.22 0 0 0 -1.59,6 l 11.36,6.44 a 6.2,6.2 0 0 0 3.07,0.81 v 0 A 6,6 0 0 0 34.48,62 6.22,6.22 0 0 0 39,56 Z" class="cls-10"/> 56 | </g> 57 | </g> 58 | </g> 59 | </g> 60 | </g> 61 | </g> 62 | <circle fill="#32BEA6" cx="13" cy="12" r="4"/> 63 | <path d="M 15.817 11.174 L 13.741 11.174 L 13.741 9.098 C 13.741 9.009 13.682 8.949 13.593 8.949 L 12.407 8.949 C 12.318 8.949 12.259 9.009 12.259 9.098 L 12.259 11.174 L 10.183 11.174 C 10.094 11.174 10.034 11.233 10.034 11.322 L 10.034 12.508 C 10.034 12.597 10.094 12.656 10.183 12.656 L 12.259 12.656 L 12.259 14.732 C 12.259 14.821 12.318 14.881 12.407 14.881 L 13.593 14.881 C 13.682 14.881 13.741 14.821 13.741 14.732 L 13.741 12.656 L 15.817 12.656 C 15.906 12.656 15.966 12.597 15.966 12.508 L 15.966 11.322 C 15.966 11.233 15.906 11.174 15.817 11.174 Z" style=""/> 64 | </svg> -------------------------------------------------------------------------------- /resources/OutlookLogo.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 3 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ 4 | <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/"> 5 | <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/"> 6 | <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/"> 7 | <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/"> 8 | <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/"> 9 | <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/"> 10 | <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/"> 11 | <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/"> 12 | ]> 13 | <svg height="18" version="1.1" id="Livello_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" 14 | xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1831.085 1703.335" 15 | enable-background="new 0 0 1831.085 1703.335" xml:space="preserve"> 16 | <metadata> 17 | <sfw xmlns="&ns_sfw;"> 18 | <slices></slices> 19 | <sliceSourceBounds bottomLeftOrigin="true" height="1703.335" width="1831.085" x="-912.833" y="-827.668"></sliceSourceBounds> 20 | </sfw> 21 | </metadata> 22 | <path fill="#0A2767" d="M1831.083,894.25c0.1-14.318-7.298-27.644-19.503-35.131h-0.213l-0.767-0.426l-634.492-375.585 23 | c-2.74-1.851-5.583-3.543-8.517-5.067c-24.498-12.639-53.599-12.639-78.098,0c-2.934,1.525-5.777,3.216-8.517,5.067L446.486,858.693 24 | l-0.766,0.426c-19.392,12.059-25.337,37.556-13.278,56.948c3.553,5.714,8.447,10.474,14.257,13.868l634.492,375.585 25 | c2.749,1.835,5.592,3.527,8.517,5.068c24.498,12.639,53.599,12.639,78.098,0c2.925-1.541,5.767-3.232,8.517-5.068l634.492-375.585 26 | C1823.49,922.545,1831.228,908.923,1831.083,894.25z"/> 27 | <path fill="#0364B8" d="M520.453,643.477h416.38v381.674h-416.38V643.477z M1745.917,255.5V80.908 28 | c1-43.652-33.552-79.862-77.203-80.908H588.204C544.552,1.046,510,37.256,511,80.908V255.5l638.75,170.333L1745.917,255.5z"/> 29 | <path fill="#0078D4" d="M511,255.5h425.833v383.25H511V255.5z"/> 30 | <path fill="#28A8EA" d="M1362.667,255.5H936.833v383.25L1362.667,1022h383.25V638.75L1362.667,255.5z"/> 31 | <path fill="#0078D4" d="M936.833,638.75h425.833V1022H936.833V638.75z"/> 32 | <path fill="#0364B8" d="M936.833,1022h425.833v383.25H936.833V1022z"/> 33 | <path fill="#14447D" d="M520.453,1025.151h416.38v346.969h-416.38V1025.151z"/> 34 | <path fill="#0078D4" d="M1362.667,1022h383.25v383.25h-383.25V1022z"/> 35 | <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="1128.4584" y1="811.0833" x2="1128.4584" y2="1.9982" gradientTransform="matrix(1 0 0 -1 0 1705.3334)"> 36 | <stop offset="0" style="stop-color:#35B8F1"/> 37 | <stop offset="1" style="stop-color:#28A8EA"/> 38 | </linearGradient> 39 | <path fill="url(#SVGID_1_)" d="M1811.58,927.593l-0.809,0.426l-634.492,356.848c-2.768,1.703-5.578,3.321-8.517,4.769 40 | c-10.777,5.132-22.481,8.029-34.407,8.517l-34.663-20.27c-2.929-1.47-5.773-3.105-8.517-4.897L447.167,906.003h-0.298 41 | l-21.036-11.753v722.384c0.328,48.196,39.653,87.006,87.849,86.7h1230.914c0.724,0,1.363-0.341,2.129-0.341 42 | c10.18-0.651,20.216-2.745,29.808-6.217c4.145-1.756,8.146-3.835,11.966-6.217c2.853-1.618,7.75-5.152,7.75-5.152 43 | c21.814-16.142,34.726-41.635,34.833-68.772V894.25C1831.068,908.067,1823.616,920.807,1811.58,927.593z"/> 44 | <path opacity="0.5" fill="#0A2767" enable-background="new " d="M1797.017,891.397v44.287l-663.448,456.791L446.699,906.301 45 | c0-0.235-0.191-0.426-0.426-0.426l0,0l-63.023-37.899v-31.938l25.976-0.426l54.932,31.512l1.277,0.426l4.684,2.981 46 | c0,0,645.563,368.346,647.267,369.197l24.698,14.478c2.129-0.852,4.258-1.703,6.813-2.555 47 | c1.278-0.852,640.879-360.681,640.879-360.681L1797.017,891.397z"/> 48 | <path fill="#1490DF" d="M1811.58,927.593l-0.809,0.468l-634.492,356.848c-2.768,1.703-5.578,3.321-8.517,4.769 49 | c-24.641,12.038-53.457,12.038-78.098,0c-2.918-1.445-5.76-3.037-8.517-4.769L446.657,928.061l-0.766-0.468 50 | c-12.25-6.642-19.93-19.409-20.057-33.343v722.384c0.305,48.188,39.616,87.004,87.803,86.7c0.001,0,0.002,0,0.004,0h1229.636 51 | c48.188,0.307,87.5-38.509,87.807-86.696c0-0.001,0-0.002,0-0.004V894.25C1831.068,908.067,1823.616,920.807,1811.58,927.593z"/> 52 | <path opacity="0.1" enable-background="new " d="M1185.52,1279.629l-9.496,5.323c-2.752,1.752-5.595,3.359-8.517,4.812 53 | c-10.462,5.135-21.838,8.146-33.47,8.857l241.405,285.479l421.107,101.476c11.539-8.716,20.717-20.178,26.7-33.343L1185.52,1279.629 54 | z"/> 55 | <path opacity="0.05" enable-background="new " d="M1228.529,1255.442l-52.505,29.51c-2.752,1.752-5.595,3.359-8.517,4.812 56 | c-10.462,5.135-21.838,8.146-33.47,8.857l113.101,311.838l549.538,74.989c21.649-16.254,34.394-41.743,34.407-68.815v-9.326 57 | L1228.529,1255.442z"/> 58 | <path fill="#28A8EA" d="M514.833,1703.333h1228.316c18.901,0.096,37.335-5.874,52.59-17.033l-697.089-408.331 59 | c-2.929-1.47-5.773-3.105-8.517-4.897L447.125,906.088h-0.298l-20.993-11.838v719.914 60 | C425.786,1663.364,465.632,1703.286,514.833,1703.333C514.832,1703.333,514.832,1703.333,514.833,1703.333z"/> 61 | <path opacity="0.1" enable-background="new " d="M1022,418.722v908.303c-0.076,31.846-19.44,60.471-48.971,72.392 62 | c-9.148,3.931-19,5.96-28.957,5.962H425.833V383.25H511v-42.583h433.073C987.092,340.83,1021.907,375.702,1022,418.722z"/> 63 | <path opacity="0.2" enable-background="new " d="M979.417,461.305v908.302c0.107,10.287-2.074,20.469-6.388,29.808 64 | c-11.826,29.149-40.083,48.273-71.54,48.417H425.833V383.25h475.656c12.356-0.124,24.533,2.958,35.344,8.943 65 | C962.937,405.344,979.407,432.076,979.417,461.305z"/> 66 | <path opacity="0.2" enable-background="new " d="M979.417,461.305v823.136c-0.208,43-34.928,77.853-77.927,78.225H425.833V383.25 67 | h475.656c12.356-0.124,24.533,2.958,35.344,8.943C962.937,405.344,979.407,432.076,979.417,461.305z"/> 68 | <path opacity="0.2" enable-background="new " d="M936.833,461.305v823.136c-0.046,43.067-34.861,78.015-77.927,78.225H425.833 69 | V383.25h433.072c43.062,0.023,77.951,34.951,77.927,78.013C936.833,461.277,936.833,461.291,936.833,461.305z"/> 70 | <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="162.7469" y1="1383.0741" x2="774.0864" y2="324.2592" gradientTransform="matrix(1 0 0 -1 0 1705.3334)"> 71 | <stop offset="0" style="stop-color:#1784D9"/> 72 | <stop offset="0.5" style="stop-color:#107AD5"/> 73 | <stop offset="1" style="stop-color:#0A63C9"/> 74 | </linearGradient> 75 | <path fill="url(#SVGID_2_)" d="M78.055,383.25h780.723c43.109,0,78.055,34.947,78.055,78.055v780.723 76 | c0,43.109-34.946,78.055-78.055,78.055H78.055c-43.109,0-78.055-34.947-78.055-78.055V461.305 77 | C0,418.197,34.947,383.25,78.055,383.25z"/> 78 | <path fill="#FFFFFF" d="M243.96,710.631c19.238-40.988,50.29-75.289,89.17-98.495c43.057-24.651,92.081-36.94,141.675-35.515 79 | c45.965-0.997,91.321,10.655,131.114,33.683c37.414,22.312,67.547,55.004,86.742,94.109c20.904,43.09,31.322,90.512,30.405,138.396 80 | c1.013,50.043-9.706,99.628-31.299,144.783c-19.652,40.503-50.741,74.36-89.425,97.388c-41.327,23.734-88.367,35.692-136.011,34.578 81 | c-46.947,1.133-93.303-10.651-134.01-34.067c-37.738-22.341-68.249-55.07-87.892-94.28c-21.028-42.467-31.57-89.355-30.745-136.735 82 | C212.808,804.859,223.158,755.686,243.96,710.631z M339.006,941.858c10.257,25.912,27.651,48.385,50.163,64.812 83 | c22.93,16.026,50.387,24.294,78.353,23.591c29.783,1.178,59.14-7.372,83.634-24.358c22.227-16.375,39.164-38.909,48.715-64.812 84 | c10.677-28.928,15.946-59.572,15.543-90.404c0.33-31.127-4.623-62.084-14.649-91.554c-8.855-26.607-25.246-50.069-47.182-67.537 85 | c-23.88-17.79-53.158-26.813-82.91-25.55c-28.572-0.74-56.644,7.593-80.184,23.804c-22.893,16.496-40.617,39.168-51.1,65.365 86 | c-23.255,60.049-23.376,126.595-0.341,186.728L339.006,941.858z"/> 87 | <path fill="#50D9FF" d="M1362.667,255.5h383.25v383.25h-383.25V255.5z"/> 88 | </svg> 89 | -------------------------------------------------------------------------------- /resources/Padlock.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="iso-8859-1"?> 2 | <!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools --> 3 | <svg height="18" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 4 | viewBox="0 0 511.999 511.999" xml:space="preserve"> 5 | <g> 6 | <path style="fill:#EDA23F;" d="M181.364,224.011h-63.97H86.333c-12.239,0-22.252,10.015-22.252,22.251v232.716 7 | c0,12.238,10.015,22.251,22.252,22.251h339.336c12.234,0,22.249-10.015,22.249-22.251V246.262 8 | c0-12.236-10.011-22.251-22.249-22.251h-31.06h-63.972H181.364L181.364,224.011z M213.351,330.561 9 | c0-23.608,19.095-42.744,42.65-42.744c23.553,0,42.647,19.136,42.647,42.744c0,15.822-8.578,29.634-21.324,37.025l10.66,69.835 10 | h-63.972l10.664-69.835C221.93,360.194,213.351,346.384,213.351,330.561z"/> 11 | <path style="fill:#565164;" d="M256.001,287.816c-23.554,0-42.65,19.136-42.65,42.744c0,15.822,8.579,29.634,21.327,37.025 12 | l-10.664,69.835h63.972l-10.66-69.835c12.745-7.391,21.324-21.202,21.324-37.025C298.647,306.954,279.554,287.816,256.001,287.816z 13 | "/> 14 | <path style="fill:#FFCD85;" d="M330.637,133.384v90.628h63.972v-90.628c0-67.438-55.176-122.614-122.614-122.614h-31.989 15 | c-67.437,0-122.614,55.176-122.614,122.614v90.628h63.97v-90.628c0-32.126,26.517-58.643,58.643-58.643h31.989 16 | C304.124,74.74,330.637,101.258,330.637,133.384z"/> 17 | </g> 18 | <g> 19 | <path style="fill:#000003;" d="M425.669,213.241h-20.29v-79.858C405.379,59.836,345.543,0,271.996,0h-31.989 20 | c-73.548,0-133.383,59.836-133.383,133.384v79.858H86.333c-18.208,0-33.022,14.813-33.022,33.021v232.716 21 | c0,18.208,14.814,33.021,33.022,33.021h339.336c18.206,0,33.019-14.813,33.019-33.021V246.262 22 | C458.688,228.054,443.875,213.241,425.669,213.241z M128.164,133.384c0-61.67,50.172-111.844,111.843-111.844h31.989 23 | c61.671,0,111.844,50.173,111.844,111.844v79.858h-42.432v-79.858c0-38.275-31.137-69.413-69.411-69.413h-31.989 24 | c-38.275,0-69.413,31.138-69.413,69.413v79.858h-42.43v-79.858H128.164z M319.867,213.241H192.134v-79.858 25 | c0-26.397,21.475-47.873,47.873-47.873h31.989c26.396,0,47.871,21.475,47.871,47.873v79.858H319.867z M437.148,478.978 26 | c0,6.33-5.149,11.481-11.479,11.481H86.333c-6.332,0-11.482-5.151-11.482-11.481V246.262c0-6.331,5.15-11.481,11.482-11.481 27 | h339.336c6.33,0,11.479,5.15,11.479,11.481V478.978z"/> 28 | <path style="fill:#000003;" d="M309.417,330.561c0-29.508-23.963-53.514-53.417-53.514c-29.456,0-53.42,24.006-53.42,53.514 29 | c0,16.491,7.674,32.019,20.429,42.084l-9.642,63.15c-0.475,3.105,0.429,6.263,2.476,8.643c2.046,2.383,5.03,3.752,8.17,3.752 30 | h63.972c0.009,0,0.015,0,0.023,0c5.947,0,10.77-4.822,10.77-10.77c0-0.797-0.087-1.578-0.251-2.326l-9.535-62.449 31 | C301.742,362.581,309.417,347.05,309.417,330.561z M271.921,358.268c-3.832,2.223-5.913,6.564-5.244,10.942l8.769,57.44h-38.894 32 | l8.772-57.439c0.669-4.379-1.412-8.722-5.244-10.943c-9.844-5.708-15.958-16.324-15.958-27.708c0-17.631,14.3-31.974,31.88-31.974 33 | c17.577,0,31.877,14.344,31.877,31.974C287.877,341.944,281.763,352.561,271.921,358.268z"/> 34 | <path style="fill:#000003;" d="M405.271,397.343c-5.948,0-10.77,4.824-10.77,10.77v50.467c0,5.947,4.822,10.77,10.77,10.77 35 | s10.77-4.823,10.77-10.77v-50.467C416.041,402.166,411.22,397.343,405.271,397.343z"/> 36 | <path style="fill:#000003;" d="M405.271,365.687c-5.948,0-10.77,4.823-10.77,10.77v0.785c0,5.946,4.822,10.77,10.77,10.77 37 | s10.77-4.824,10.77-10.77v-0.785C416.041,370.51,411.22,365.687,405.271,365.687z"/> 38 | <path style="fill:#000003;" d="M106.729,337.229c-5.947,0-10.77,4.823-10.77,10.77v0.784c0,5.948,4.823,10.77,10.77,10.77 39 | s10.77-4.822,10.77-10.77v-0.784C117.499,342.052,112.678,337.229,106.729,337.229z"/> 40 | <path style="fill:#000003;" d="M106.729,255.891c-5.947,0-10.77,4.822-10.77,10.77v50.465c0,5.948,4.823,10.77,10.77,10.77 41 | s10.77-4.822,10.77-10.77v-50.465C117.499,260.711,112.678,255.891,106.729,255.891z"/> 42 | </g> 43 | </svg> -------------------------------------------------------------------------------- /resources/PowerPointLogo.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 3 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ 4 | <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/"> 5 | <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/"> 6 | <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/"> 7 | <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/"> 8 | <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/"> 9 | <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/"> 10 | <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/"> 11 | <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/"> 12 | ]> 13 | <svg height="18" version="1.1" id="Livello_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" 14 | xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1919.95 1786" 15 | enable-background="new 0 0 1919.95 1786" xml:space="preserve"> 16 | <metadata> 17 | <sfw xmlns="&ns_sfw;"> 18 | <slices></slices> 19 | <sliceSourceBounds bottomLeftOrigin="true" height="1786" width="1919.95" x="-936.475" y="-869"></sliceSourceBounds> 20 | </sfw> 21 | </metadata> 22 | <path fill="#ED6C47" d="M1160.9,982.3L1026.95,0h-10.002C529.872,1.422,135.372,395.922,133.95,882.998V893L1160.9,982.3z"/> 23 | <path fill="#FF8F6B" d="M1036.952,0h-10.002v893l446.5,178.6l446.5-178.6v-10.002C1918.528,395.922,1524.028,1.422,1036.952,0z"/> 24 | <path fill="#D35230" d="M1919.95,893v9.823c-1.398,487.185-395.992,881.779-883.177,883.177h-19.646 25 | c-487.185-1.398-881.779-395.992-883.177-883.177V893H1919.95z"/> 26 | <path opacity="0.1" enable-background="new " d="M1071.6,438.909v952.831c-0.222,33.109-20.286,62.852-50.901,75.458 27 | c-9.748,4.123-20.224,6.249-30.809,6.251H344.698c-12.502-14.288-24.557-29.469-35.72-44.65 28 | c-113.755-151.749-175.176-336.324-175.028-525.977v-19.646c-0.261-171.062,49.733-338.433,143.773-481.327 29 | c9.823-15.181,20.092-30.362,31.255-44.65h680.912C1034.876,357.54,1071.26,393.924,1071.6,438.909z"/> 30 | <path opacity="0.2" enable-background="new " d="M1026.95,483.56v952.831c-0.002,10.584-2.128,21.061-6.251,30.808 31 | c-12.606,30.615-42.35,50.679-75.459,50.901H385.329c-14.127-14.342-27.682-29.237-40.632-44.65 32 | c-12.502-14.288-24.557-29.469-35.72-44.65c-113.755-151.749-175.176-336.325-175.028-525.977v-19.646 33 | c-0.261-171.062,49.733-338.433,143.773-481.327H945.24C990.226,402.19,1026.61,438.574,1026.95,483.56z"/> 34 | <path opacity="0.2" enable-background="new " d="M1026.95,483.56v863.531c-0.34,44.985-36.724,81.369-81.709,81.71H308.978 35 | c-113.755-151.749-175.176-336.325-175.028-525.977v-19.646c-0.261-171.062,49.733-338.433,143.773-481.327H945.24 36 | C990.226,402.19,1026.61,438.574,1026.95,483.56z"/> 37 | <path opacity="0.2" enable-background="new " d="M982.3,483.56v863.531c-0.34,44.985-36.724,81.369-81.709,81.71H308.978 38 | c-113.755-151.749-175.176-336.325-175.028-525.977v-19.646c-0.261-171.062,49.733-338.433,143.773-481.327h622.867 39 | C945.576,402.19,981.96,438.574,982.3,483.56z"/> 40 | <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="170.6454" y1="1450.1008" x2="811.6547" y2="339.8992" gradientTransform="matrix(1 0 0 -1 0 1788)"> 41 | <stop offset="0" style="stop-color:#CA4C28"/> 42 | <stop offset="0.5" style="stop-color:#C5401E"/> 43 | <stop offset="1" style="stop-color:#B62F14"/> 44 | </linearGradient> 45 | <path fill="url(#SVGID_1_)" d="M81.843,401.85h818.613c45.201,0,81.843,36.643,81.843,81.843v818.613 46 | c0,45.201-36.643,81.844-81.843,81.844H81.843C36.643,1384.15,0,1347.507,0,1302.307V483.693C0,438.493,36.643,401.85,81.843,401.85 47 | z"/> 48 | <path fill="#FFFFFF" d="M500.08,620.144c53.289-3.596,106.119,11.883,149.042,43.668c35.8,31.961,54.929,78.599,51.883,126.493 49 | c0.585,33.294-8.287,66.071-25.584,94.524c-17.512,27.964-42.742,50.263-72.646,64.207c-34.187,15.9-71.564,23.751-109.259,22.95 50 | H389.973v192.441H283.929V620.144H500.08z M389.884,888.848h91.265c28.933,2.125,57.641-6.438,80.683-24.066 51 | c19.058-18.282,29.047-44.063,27.281-70.413c0-59.98-34.857-89.97-104.57-89.97h-94.658V888.848z"/> 52 | </svg> 53 | -------------------------------------------------------------------------------- /resources/Star.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools --> 2 | <svg height="18" viewBox="0 -0.5 32 32" fill="none" 3 | xmlns="http://www.w3.org/2000/svg"> 4 | <path d="M16.0005 0L21.4392 9.27275L32.0005 11.5439L24.8005 19.5459L25.889 30.2222L16.0005 25.895L6.11194 30.2222L7.20049 19.5459L0.000488281 11.5439L10.5618 9.27275L16.0005 0Z" fill="#FFCB45"/> 5 | </svg> -------------------------------------------------------------------------------- /resources/VBALogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sancarn/awesome-vba/d909ef70d60fc4b78cb2246ae60c86343a0e9c29/resources/VBALogo.png -------------------------------------------------------------------------------- /resources/WindowsLogo.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <svg height="18" viewBox="0 0 220.7 220.695" xmlns="http://www.w3.org/2000/svg"> 3 | <path d="M104.868 104.868H0V0h104.868v104.868z" fill="#f1511b"/> 4 | <path d="M220.654 104.868H115.788V0h104.866v104.868z" fill="#80cc28"/> 5 | <path d="M104.865 220.695H0V115.828h104.865v104.867z" fill="#00adef"/> 6 | <path d="M220.654 220.695H115.788V115.828h104.866v104.867z" fill="#fbbc09"/> 7 | </svg> -------------------------------------------------------------------------------- /resources/WordLogo.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 3 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ 4 | <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/"> 5 | <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/"> 6 | <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/"> 7 | <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/"> 8 | <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/"> 9 | <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/"> 10 | <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/"> 11 | <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/"> 12 | ]> 13 | <svg height="18" version="1.1" id="Livello_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" 14 | xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1881.25 1750" 15 | enable-background="new 0 0 1881.25 1750" xml:space="preserve"> 16 | <metadata> 17 | <sfw xmlns="&ns_sfw;"> 18 | <slices></slices> 19 | <sliceSourceBounds bottomLeftOrigin="true" height="1750" width="1881.25" x="-938.5" y="-851"></sliceSourceBounds> 20 | </sfw> 21 | </metadata> 22 | <path fill="#41A5EE" d="M1801.056,0H517.694C473.404,0,437.5,35.904,437.5,80.194c0,0,0,0,0,0V437.5l743.75,218.75l700-218.75 23 | V80.194C1881.25,35.904,1845.346,0,1801.056,0L1801.056,0z"/> 24 | <path fill="#2B7CD3" d="M1881.25,437.5H437.5V875l743.75,131.25l700-131.25V437.5z"/> 25 | <path fill="#185ABD" d="M437.5,875v437.5l700,87.5l743.75-87.5V875H437.5z"/> 26 | <path fill="#103F91" d="M517.694,1750h1283.363c44.29,0,80.194-35.904,80.194-80.194l0,0V1312.5H437.5v357.306 27 | C437.5,1714.096,473.404,1750,517.694,1750L517.694,1750z"/> 28 | <path opacity="0.1" enable-background="new " d="M969.806,350H437.5v1093.75h532.306c44.23-0.144,80.05-35.964,80.194-80.194 29 | V430.194C1049.856,385.964,1014.036,350.144,969.806,350z"/> 30 | <path opacity="0.2" enable-background="new " d="M926.056,393.75H437.5V1487.5h488.556c44.23-0.144,80.05-35.964,80.194-80.194 31 | V473.944C1006.106,429.714,970.286,393.894,926.056,393.75z"/> 32 | <path opacity="0.2" enable-background="new " d="M926.056,393.75H437.5V1400h488.556c44.23-0.144,80.05-35.964,80.194-80.194 33 | V473.944C1006.106,429.714,970.286,393.894,926.056,393.75z"/> 34 | <path opacity="0.2" enable-background="new " d="M882.306,393.75H437.5V1400h444.806c44.23-0.144,80.05-35.964,80.194-80.194 35 | V473.944C962.356,429.714,926.536,393.894,882.306,393.75z"/> 36 | <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="167.2057" y1="1420.9117" x2="795.2943" y2="333.0883" gradientTransform="matrix(1 0 0 -1 0 1752)"> 37 | <stop offset="0" style="stop-color:#2368C4"/> 38 | <stop offset="0.5" style="stop-color:#1A5DBE"/> 39 | <stop offset="1" style="stop-color:#1146AC"/> 40 | </linearGradient> 41 | <path fill="url(#SVGID_1_)" d="M80.194,393.75h802.112c44.29,0,80.194,35.904,80.194,80.194v802.113 42 | c0,44.29-35.904,80.194-80.194,80.194H80.194c-44.29,0-80.194-35.904-80.194-80.194V473.944C0,429.654,35.904,393.75,80.194,393.75z 43 | "/> 44 | <path fill="#FFFFFF" d="M329.088,1008.788c1.575,12.381,2.625,23.144,3.106,32.375h1.837c0.7-8.75,2.158-19.294,4.375-31.631 45 | c2.217-12.338,4.215-22.765,5.994-31.281l84.35-363.913h109.069l87.5,358.444c5.084,22.288,8.723,44.881,10.894,67.637h1.444 46 | c1.631-22.047,4.671-43.966,9.1-65.625l69.781-360.631h99.269l-122.588,521.5H577.238L494.113,790.3 47 | c-2.406-9.931-5.162-22.925-8.181-38.894c-3.019-15.969-4.9-27.65-5.644-35h-1.444c-0.962,8.487-2.844,21.088-5.644,37.8 48 | c-2.8,16.713-5.046,29.079-6.738,37.1l-78.138,344.269h-117.95L147.131,614.337h101.062l75.994,364.656 49 | C325.894,986.475,327.513,996.45,329.088,1008.788z"/> 50 | </svg> 51 | --------------------------------------------------------------------------------