Precompile VBA code.
Project description
VBA-Precompiler
About
The Microsoft VBA language includes a simple precompilation language (Conditional Compilation). This tool allows users to specify environment parameters to convert a conditional-module-body into a preprocessed-module-body.
This software operates as recommended in the Microsoft VBA Language Specification.
Requirements
vba_precompiler is tested on python 3.8 and higher.
Installation
Use the package manager pip to install VBA-Precompiler.
pip install vba_precompiler
Getting Started
vba_precompiler will take a specified directory that contains vba source code, and a set of environment values, and produce a set of matching vba source files in which code is excluded as directed by the precomiler directives.
For example, the following
Attribute VB_Name = "Input"
#Const TestType="testing"
#If Win16 Or Then
foo = 6
#ElseIf Win32
foo = 7
#EndIf
'Additional VBA code follows
Will be transformed to the following:
Attribute VB_Name = "Input"
'#Const TestType="testing"
'#If Win16 Then
foo = 6
'#ElseIf Win32
' foo = 7
'#EndIf
'Additional VBA code follows
To run the program
python vba_precompiler.py [-h] [-s SYSTEM] [-v VERSION] [-o OUTPUT] directory
positional arguments:
directory The source directory.
options:
-h, --help show this help message and
exit
-s, --system System Type, Win16, Win32, Win64, or Mac.
-v, --version VBA version, 6 or 7.
-o, --output output path, defaults to ./build.
examples:
python -m vba_precompiler -s Win32 -v 7 -o ./build32_7 ./project
Tests
The tests directory contains complete unit and functional tests.
Contributing
Contributions are welcome. Please ensure new features include unit tests to maintain 100% coverage. All code must adhere to the PEP8 Standards for both formatting and naming. Method signatures must be fully annotated.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file vba_precompiler-0.0.1.tar.gz
.
File metadata
- Download URL: vba_precompiler-0.0.1.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2243fd40c9d57d9bf0dd74ef436ec6b167f30c808f061f7fc28b00fdd2d6431c |
|
MD5 | 8e3407c934b1f5b8701a10fc481ba6fb |
|
BLAKE2b-256 | 99b38026ebd6c41a470faa2da9d7b1779498be9e15ca7c659afa3d7d9a3f02ab |
File details
Details for the file vba_precompiler-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: vba_precompiler-0.0.1-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41bc1bbcc6ce73b94a2e592db50d465f74566edfab7970ac23122aa12e2a0393 |
|
MD5 | 8e6e2db673e9dbeb0e2cc02aeeb90980 |
|
BLAKE2b-256 | bb140094709987e1ea0392064ae919d200452ae78d12a5f06020233b70e4d63c |