Skip to content

Instantly share code, notes, and snippets.

View KallunWillock's full-sized avatar

Kallun Willock KallunWillock

View GitHub Profile
@guwidoe
guwidoe / VBA-Keywords.md
Last active March 17, 2025 22:36
Exhaustive list of VBA Keywords, including categories reserved and non-reserved

Exhaustive lists of VBA Keywords and Symbols

Copyright (c) 2023 Guido Witt-Dörring (MIT License)

This document attempts to provide various exhaustive lists of VBA keywords and symbols using various categorizations. This is useful because the official documentation is convoluted and incomplete and it is very difficult to derive such lists from official sources.

If you find missing keywords or mistakes in any of the lists or have any suggestions, please don't hesitate to leave a comment below.

Table of Contents

  1. Keywords
@sancarn
sancarn / How to use a function pointer in VBA.md
Created December 30, 2020 12:14
How to use a function pointer in VBA by Akihito Yamashiro

VB6 and VBA come with no support for function pointers.

Also, when you wish to execute a function in a dll using the Declare function, you can only call functions created by the Steadcall calling conversation.

These constraints can be avoided by using the DispCallFunc API. The DispCallFunc is widely used in VB6 when erasing the history of IE. Although the DispCallFunc is known as API for calling the IUnknown interface, in fact, you can also perform other functions other than COM by passing the NULL to the first argument.

As explained in the http://msdn.microsoft.com/en-us/library/ms221473(v=vs.85).aspx , the DispCallFunc argument is as follows.

@jrdmb
jrdmb / vba_advapi32_64-bit.vb
Created April 9, 2015 16:47
How to Use advapi32.dll Encryption Functions in 64-bit VBA
Option Compare Database
Option Explicit
'Reference: http://khoiriyyah.blogspot.com/2012/06/vb6-hash-class-md5-sha-1-sha-256-sha.html
'The above article is excellent but that code works for 32-bit Access/Excel only.
'This works on both 32-bit and 64-bit Access/Excel.
'Requires no dll References in the VB Editor. It uses advapi32.dll, which needs no Reference
' as these are Windows API calls only.
'I have not seen documented anywhere else on the Internet how to make these calls in 64-bit apps.