vba-edit


Namevba-edit JSON
Version 0.4.0 PyPI version JSON
download
home_pageNone
SummaryEnable seamless MS Office VBA code editing in preferred editor or IDE (facilitating the use of coding assistants and version control workflows)
upload_time2025-10-06 22:35:52
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords vba excel word office automation macro pypi
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # [vba-edit](https://github.com/markuskiller/vba-edit) 

**Edit VBA code in VS Code, Sublime, or any editor you love.** Real-time sync with MS Office apps (support for **Excel**, **Word**, **PowerPoint** & **Access**). Git-friendly. No more VBA editor pain.


[![CI](https://github.com/markuskiller/vba-edit/actions/workflows/test.yaml/badge.svg)](https://github.com/markuskiller/vba-edit/actions/workflows/test.yaml)
[![PyPI - Version](https://img.shields.io/pypi/v/vba-edit.svg)](https://pypi.org/project/vba-edit)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/vba-edit.svg)](https://pypi.org/project/vba-edit)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/vba-edit)](https://pypi.org/project/vba-edit)
[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)


## 30-Second Demo
```bash
# Install
pip install -U vba-edit

# Start editing (uses active Excel/Word document)
excel-vba edit    # or word-vba edit

# That's it! Edit the .bas/.cls files in your editor. Save = Sync.
```

## How It Works

<pre>
                         ←── vba-edit ──→

Excel / Word                 COMMANDS            Your favourite
PowerPoint / Access              ↓                   Editor

┌──────────────────┐                          ┌──────────────────┐
│                  │                          │                  │
│   VBA Project    │    ←──    EDIT* (once →) │  (e.g. VS CODE)  │ 
│                  │                          │                  │     latest
│  (Office VBA-    │           EXPORT ──→     │   .bas           │   ← AI coding-  
│    Editor)       │                          │   .cls           │     assistants
│                  │       ←── IMPORT         │   .frm           │   
│                  │                          │  (.frx binary)   │ 
│                  │                          │                  │ 
└──────────────────┘                          └──────────────────┘
                                                       ↓
                                              ┌──────────────────┐
                                              │                  │
 * watches & syncs                            │    (e.g. Git)    │
   back to Office                             │  version control │
   VBA-Editor live                            │                  │
   on save [CTRL+S]                           │                  │
                                              └──────────────────┘
</pre>

## Why vba-edit?

- **Use YOUR editor** - VS Code, PyCharm, Wing IDE, Vim, etc. whatever you love 
- **AI-ready** - Use Copilot, ChatGPT, or any coding assistant 
- **Team-friendly** - Share code via Git, no COM add-ins needed 
- **Real version control** - Diff, merge, and track changes properly 
- **Well-organized** - Keep your VBA structured, clean, and consistent

## Setup (One-Time)

**Windows Only** | **MS Office**

Enable VBA access in Office:

`File → Options → Trust Center → Trust Center Settings → Macro Settings`

✅ **Trust access to the VBA project object model**

> 💡 Can't find it? Run `excel-vba check` to verify settings


## Common Workflows

### Start Fresh
```bash
excel-vba edit                    # Start with active workbook
```

### Quick Export with Folder View
```bash
excel-vba export --open-folder    # Export and open in File Explorer
```

### Team Project with Git
```bash
excel-vba export --vba-directory ./src/vba
git add . && git commit -m "Updated reports module"
``` 

### Support for RubberduckVBA Style (big thank you to @onderhold!)
```bash
excel-vba edit --rubberduck-folders --in-file-headers
``` 

## Quick Reference

| Command | What it does |
|---------|-------------|
| `excel-vba edit` | Start live editing |
| `excel-vba export` | One-time export |
| `excel-vba export --open-folder` | Export and open folder in explorer |
| `excel-vba export --force-overwrite` | Export without confirmation prompts |
| `excel-vba check` | Verify status of *Trust access* to the VBA project object model |
| `--vba-directory ./src` | Custom folder |
| `--rubberduck-folders` | Organize by @Folder |
| `--in-file-headers` | Embed headers in code files |
| `--conf myconfig.toml` | Use config file |
| `--force-overwrite` | Skip safety prompts (automation) |

## Troubleshooting

| Issue | Solution |
|-------|----------|
| "Trust access" error | Run `excel-vba check` for diagnostics |
| Changes not syncing | Save the file in your editor |
| Forms not working | Add `--in-file-headers` flag |


## Safety Features

**🛡️ Data Loss Prevention** (v0.4.0+)

vba-edit now protects your work with smart safety checks:

- **Overwrite Protection**: Warns before overwriting existing VBA files
- **Header Mode Detection**: Alerts when switching between header storage modes
- **Orphaned File Cleanup**: Automatically removes stale `.header` files on mode change
- **UserForm Validation**: Prevents exports without proper header handling

**Bypass for Automation**: Use `--force-overwrite` flag to skip prompts in CI/CD pipelines:
```bash
excel-vba export --vba-directory ./src --force-overwrite
```

> ⚠️ **CAUTION**: `--force-overwrite` suppresses all safety prompts. Use with caution!


## Features

**🚀 Core**
- Live sync between Office and your editor
- Full Git/version control support
- All Office apps: Excel, Word, Access & **NEW v0.4.0+** PowerPoint

**📁 Organization** 
- **NEW v0.4.0+** RubberduckVBA folder structure support
- **NEW v0.4.0+** Smart file organization with `@Folder` annotations
- **NEW v0.4.0+** TOML config files for team standards

**🔧 Advanced**
- Unicode & encoding support
- **IMPROVED v0.4.0+** UserForms with layout preservation  
- Class modules with custom attributes


## Command Line Tools

### App-specific tools

- `word-vba`
- `excel-vba`
- `access-vba`
- `powerpoint-vba`

### Commands

- `edit`: Live sync between editor and Office
- `export`: Export VBA modules to files
- `import`: Import VBA modules from files
- `check {all}`: Check if 'Trust Access to the VBA project object model' is enabled

### Options

```text
--file, -f                   Path to Office document
--conf, --config, -c         Supply config file (TOML format)
--vba-directory              Directory for VBA files
--rubberduck-folders         Use RubberduckVBA folder annotations
--save-headers               Save module headers separately
--in-file-headers            Include VBA headers directly in code files
--encoding, -e               Specify character encoding
--detect-encoding, -d        Auto-detect encoding
--verbose, -v                Enable detailed logging
--logfile, -l                Enable file logging
--open-folder                Open export directory in file explorer after export
--save-metadata, -m          Save metadata file with encoding information
--force-overwrite            Skip all confirmation prompts (for automation)
--version, -V                Show program's version number and exit
```

### Example of `--in-file-headers --rubberduck-folders` (v0.4.0+)

```vba
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
END
Attribute VB_Name = "MyClass"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False

'@Folder("Business.Domain")
Public Sub DoSomething()
    ' Your code here
End Sub
```

## Configuration Files

**NEW v0.4.0+** Use TOML configuration files to standardize team workflows and avoid repetitive command-line arguments.

### Basic Configuration

Create a `vba-config.toml` file in your project:

```toml
[general]
file = "MyWorkbook.xlsm"
vba_directory = "src/vba"
verbose = true
rubberduck_folders = true
in_file_headers = true
```

Then use it:
```bash
excel-vba export --conf vba-config.toml
```

### Available Configuration Keys

**[general] section:**
- `file` - Path to Office document
- `vba_directory` - Directory for VBA files
- `encoding` - Character encoding (e.g., "utf-8", "cp1252")
- `verbose` - Enable verbose logging (true/false)
- `logfile` - Path to log file
- `rubberduck_folders` - Use RubberduckVBA @Folder annotations (true/false)
- `save_headers` - Save headers to separate .header files (true/false)
- `in_file_headers` - Embed headers in code files (true/false)
- `open_folder` - Open export directory after export (true/false)

**Other sections (reserved for future use):**
- `[office]` - Office-wide settings
- `[excel]` - Excel-specific settings
- `[word]` - Word-specific settings
- `[access]` - Access-specific settings
- `[powerpoint]` - PowerPoint-specific settings

### Configuration Placeholders

Configuration values support dynamic placeholders for flexible path management:

**Available placeholders:**
- `{config.path}` - Directory containing the config file
- `{general.file.name}` - Document filename without extension
- `{general.file.fullname}` - Document filename with extension
- `{general.file.path}` - Directory containing the document
- `{vbaproject}` - VBA project name (resolved at runtime)

**Example with placeholders:**

```toml
[general]
file = "C:/Projects/MyApp/MyWorkbook.xlsm"
vba_directory = "{general.file.path}/{general.file.name}-vba"
# This resolves to: C:/Projects/MyApp/MyWorkbook-vba
```

**Relative paths example:**

```toml
[general]
file = "../documents/report.xlsm"
vba_directory = "{config.path}/vba-modules"
# vba_directory is relative to config file location
```

### Command-Line Override

Command-line arguments always override config file settings:

```bash
# Config says vba_directory = "src/vba"
# This overrides it to "build/vba"
excel-vba export --conf vba-config.toml --vba-directory build/vba
```

> ⚠️ **CAUTION**: **1.** Always **backup your Office files** before using `vba-edit` **2.** Use **version control (git)** to track your VBA code **3.** Run `export` after changing **form layouts** or module properties


### Known Limitations

- UserForms require `--save-headers` option (`edit` process is aborted if this is not the case)
- If `*.header` files are modified on their own, the corresponding `*.cls`, `*.bas` or `*.frm` file needs to be saved in order to sync the complete module back into the VBA project model

## Links

- [Homepage](https://langui.ch/current-projects/vba-edit/)
- [Documentation](https://github.com/markuskiller/vba-edit/blob/main/README.md)
- [Source Code](https://github.com/markuskiller/vba-edit)
- [Changelog](https://github.com/markuskiller/vba-edit/blob/main/CHANGELOG.md)
- [Changelog of latest dev version](https://github.com/markuskiller/vba-edit/blob/dev/CHANGELOG.md)
- [Video Tutorial](https://www.youtube.com/watch?v=xoO-Fx0fTpM) (xlwings walkthrough, with similar functionality)

## License

BSD 3-Clause License

## Credits

**vba-edit** builds on an excellent idea first implemented for Excel in [xlwings](https://www.xlwings.org/) (BSD-3).

Special thanks to **@onderhold** for improved header handling, RubberduckVBA folder and config file support in v0.4.0.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "vba-edit",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "vba, excel, word, office, automation, macro, PyPI",
    "author": null,
    "author_email": "Markus Killer <m.killer@langui.ch>",
    "download_url": "https://files.pythonhosted.org/packages/96/bd/09601d0a4723e3401e0c8200ea52985a8e99e13f059dd6c7cf46f4e9a5eb/vba_edit-0.4.0.tar.gz",
    "platform": null,
    "description": "# [vba-edit](https://github.com/markuskiller/vba-edit) \n\n**Edit VBA code in VS Code, Sublime, or any editor you love.** Real-time sync with MS Office apps (support for **Excel**, **Word**, **PowerPoint** & **Access**). Git-friendly. No more VBA editor pain.\n\n\n[![CI](https://github.com/markuskiller/vba-edit/actions/workflows/test.yaml/badge.svg)](https://github.com/markuskiller/vba-edit/actions/workflows/test.yaml)\n[![PyPI - Version](https://img.shields.io/pypi/v/vba-edit.svg)](https://pypi.org/project/vba-edit)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/vba-edit.svg)](https://pypi.org/project/vba-edit)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/vba-edit)](https://pypi.org/project/vba-edit)\n[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)\n\n\n## 30-Second Demo\n```bash\n# Install\npip install -U vba-edit\n\n# Start editing (uses active Excel/Word document)\nexcel-vba edit    # or word-vba edit\n\n# That's it! Edit the .bas/.cls files in your editor. Save = Sync.\n```\n\n## How It Works\n\n<pre>\n                         \u2190\u2500\u2500 vba-edit \u2500\u2500\u2192\n\nExcel / Word                 COMMANDS            Your favourite\nPowerPoint / Access              \u2193                   Editor\n\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510                          \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502                  \u2502                          \u2502                  \u2502\n\u2502   VBA Project    \u2502    \u2190\u2500\u2500    EDIT* (once \u2192) \u2502  (e.g. VS CODE)  \u2502 \n\u2502                  \u2502                          \u2502                  \u2502     latest\n\u2502  (Office VBA-    \u2502           EXPORT \u2500\u2500\u2192     \u2502   .bas           \u2502   \u2190 AI coding-  \n\u2502    Editor)       \u2502                          \u2502   .cls           \u2502     assistants\n\u2502                  \u2502       \u2190\u2500\u2500 IMPORT         \u2502   .frm           \u2502   \n\u2502                  \u2502                          \u2502  (.frx binary)   \u2502 \n\u2502                  \u2502                          \u2502                  \u2502 \n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518                          \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                                                       \u2193\n                                              \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n                                              \u2502                  \u2502\n * watches & syncs                            \u2502    (e.g. Git)    \u2502\n   back to Office                             \u2502  version control \u2502\n   VBA-Editor live                            \u2502                  \u2502\n   on save [CTRL+S]                           \u2502                  \u2502\n                                              \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n</pre>\n\n## Why vba-edit?\n\n- **Use YOUR editor** - VS Code, PyCharm, Wing IDE, Vim, etc. whatever you love \n- **AI-ready** - Use Copilot, ChatGPT, or any coding assistant \n- **Team-friendly** - Share code via Git, no COM add-ins needed \n- **Real version control** - Diff, merge, and track changes properly \n- **Well-organized** - Keep your VBA structured, clean, and consistent\n\n## Setup (One-Time)\n\n**Windows Only** | **MS Office**\n\nEnable VBA access in Office:\n\n`File \u2192 Options \u2192 Trust Center \u2192 Trust Center Settings \u2192 Macro Settings`\n\n\u2705 **Trust access to the VBA project object model**\n\n> \ud83d\udca1 Can't find it? Run `excel-vba check` to verify settings\n\n\n## Common Workflows\n\n### Start Fresh\n```bash\nexcel-vba edit                    # Start with active workbook\n```\n\n### Quick Export with Folder View\n```bash\nexcel-vba export --open-folder    # Export and open in File Explorer\n```\n\n### Team Project with Git\n```bash\nexcel-vba export --vba-directory ./src/vba\ngit add . && git commit -m \"Updated reports module\"\n``` \n\n### Support for RubberduckVBA Style (big thank you to @onderhold!)\n```bash\nexcel-vba edit --rubberduck-folders --in-file-headers\n``` \n\n## Quick Reference\n\n| Command | What it does |\n|---------|-------------|\n| `excel-vba edit` | Start live editing |\n| `excel-vba export` | One-time export |\n| `excel-vba export --open-folder` | Export and open folder in explorer |\n| `excel-vba export --force-overwrite` | Export without confirmation prompts |\n| `excel-vba check` | Verify status of *Trust access* to the VBA project object model |\n| `--vba-directory ./src` | Custom folder |\n| `--rubberduck-folders` | Organize by @Folder |\n| `--in-file-headers` | Embed headers in code files |\n| `--conf myconfig.toml` | Use config file |\n| `--force-overwrite` | Skip safety prompts (automation) |\n\n## Troubleshooting\n\n| Issue | Solution |\n|-------|----------|\n| \"Trust access\" error | Run `excel-vba check` for diagnostics |\n| Changes not syncing | Save the file in your editor |\n| Forms not working | Add `--in-file-headers` flag |\n\n\n## Safety Features\n\n**\ud83d\udee1\ufe0f Data Loss Prevention** (v0.4.0+)\n\nvba-edit now protects your work with smart safety checks:\n\n- **Overwrite Protection**: Warns before overwriting existing VBA files\n- **Header Mode Detection**: Alerts when switching between header storage modes\n- **Orphaned File Cleanup**: Automatically removes stale `.header` files on mode change\n- **UserForm Validation**: Prevents exports without proper header handling\n\n**Bypass for Automation**: Use `--force-overwrite` flag to skip prompts in CI/CD pipelines:\n```bash\nexcel-vba export --vba-directory ./src --force-overwrite\n```\n\n> \u26a0\ufe0f **CAUTION**: `--force-overwrite` suppresses all safety prompts. Use with caution!\n\n\n## Features\n\n**\ud83d\ude80 Core**\n- Live sync between Office and your editor\n- Full Git/version control support\n- All Office apps: Excel, Word, Access & **NEW v0.4.0+** PowerPoint\n\n**\ud83d\udcc1 Organization** \n- **NEW v0.4.0+** RubberduckVBA folder structure support\n- **NEW v0.4.0+** Smart file organization with `@Folder` annotations\n- **NEW v0.4.0+** TOML config files for team standards\n\n**\ud83d\udd27 Advanced**\n- Unicode & encoding support\n- **IMPROVED v0.4.0+** UserForms with layout preservation  \n- Class modules with custom attributes\n\n\n## Command Line Tools\n\n### App-specific tools\n\n- `word-vba`\n- `excel-vba`\n- `access-vba`\n- `powerpoint-vba`\n\n### Commands\n\n- `edit`: Live sync between editor and Office\n- `export`: Export VBA modules to files\n- `import`: Import VBA modules from files\n- `check {all}`: Check if 'Trust Access to the VBA project object model' is enabled\n\n### Options\n\n```text\n--file, -f                   Path to Office document\n--conf, --config, -c         Supply config file (TOML format)\n--vba-directory              Directory for VBA files\n--rubberduck-folders         Use RubberduckVBA folder annotations\n--save-headers               Save module headers separately\n--in-file-headers            Include VBA headers directly in code files\n--encoding, -e               Specify character encoding\n--detect-encoding, -d        Auto-detect encoding\n--verbose, -v                Enable detailed logging\n--logfile, -l                Enable file logging\n--open-folder                Open export directory in file explorer after export\n--save-metadata, -m          Save metadata file with encoding information\n--force-overwrite            Skip all confirmation prompts (for automation)\n--version, -V                Show program's version number and exit\n```\n\n### Example of `--in-file-headers --rubberduck-folders` (v0.4.0+)\n\n```vba\nVERSION 1.0 CLASS\nBEGIN\n  MultiUse = -1  'True\nEND\nAttribute VB_Name = \"MyClass\"\nAttribute VB_GlobalNameSpace = False\nAttribute VB_Creatable = False\nAttribute VB_PredeclaredId = False\nAttribute VB_Exposed = False\n\n'@Folder(\"Business.Domain\")\nPublic Sub DoSomething()\n    ' Your code here\nEnd Sub\n```\n\n## Configuration Files\n\n**NEW v0.4.0+** Use TOML configuration files to standardize team workflows and avoid repetitive command-line arguments.\n\n### Basic Configuration\n\nCreate a `vba-config.toml` file in your project:\n\n```toml\n[general]\nfile = \"MyWorkbook.xlsm\"\nvba_directory = \"src/vba\"\nverbose = true\nrubberduck_folders = true\nin_file_headers = true\n```\n\nThen use it:\n```bash\nexcel-vba export --conf vba-config.toml\n```\n\n### Available Configuration Keys\n\n**[general] section:**\n- `file` - Path to Office document\n- `vba_directory` - Directory for VBA files\n- `encoding` - Character encoding (e.g., \"utf-8\", \"cp1252\")\n- `verbose` - Enable verbose logging (true/false)\n- `logfile` - Path to log file\n- `rubberduck_folders` - Use RubberduckVBA @Folder annotations (true/false)\n- `save_headers` - Save headers to separate .header files (true/false)\n- `in_file_headers` - Embed headers in code files (true/false)\n- `open_folder` - Open export directory after export (true/false)\n\n**Other sections (reserved for future use):**\n- `[office]` - Office-wide settings\n- `[excel]` - Excel-specific settings\n- `[word]` - Word-specific settings\n- `[access]` - Access-specific settings\n- `[powerpoint]` - PowerPoint-specific settings\n\n### Configuration Placeholders\n\nConfiguration values support dynamic placeholders for flexible path management:\n\n**Available placeholders:**\n- `{config.path}` - Directory containing the config file\n- `{general.file.name}` - Document filename without extension\n- `{general.file.fullname}` - Document filename with extension\n- `{general.file.path}` - Directory containing the document\n- `{vbaproject}` - VBA project name (resolved at runtime)\n\n**Example with placeholders:**\n\n```toml\n[general]\nfile = \"C:/Projects/MyApp/MyWorkbook.xlsm\"\nvba_directory = \"{general.file.path}/{general.file.name}-vba\"\n# This resolves to: C:/Projects/MyApp/MyWorkbook-vba\n```\n\n**Relative paths example:**\n\n```toml\n[general]\nfile = \"../documents/report.xlsm\"\nvba_directory = \"{config.path}/vba-modules\"\n# vba_directory is relative to config file location\n```\n\n### Command-Line Override\n\nCommand-line arguments always override config file settings:\n\n```bash\n# Config says vba_directory = \"src/vba\"\n# This overrides it to \"build/vba\"\nexcel-vba export --conf vba-config.toml --vba-directory build/vba\n```\n\n> \u26a0\ufe0f **CAUTION**: **1.** Always **backup your Office files** before using `vba-edit` **2.** Use **version control (git)** to track your VBA code **3.** Run `export` after changing **form layouts** or module properties\n\n\n### Known Limitations\n\n- UserForms require `--save-headers` option (`edit` process is aborted if this is not the case)\n- If `*.header` files are modified on their own, the corresponding `*.cls`, `*.bas` or `*.frm` file needs to be saved in order to sync the complete module back into the VBA project model\n\n## Links\n\n- [Homepage](https://langui.ch/current-projects/vba-edit/)\n- [Documentation](https://github.com/markuskiller/vba-edit/blob/main/README.md)\n- [Source Code](https://github.com/markuskiller/vba-edit)\n- [Changelog](https://github.com/markuskiller/vba-edit/blob/main/CHANGELOG.md)\n- [Changelog of latest dev version](https://github.com/markuskiller/vba-edit/blob/dev/CHANGELOG.md)\n- [Video Tutorial](https://www.youtube.com/watch?v=xoO-Fx0fTpM) (xlwings walkthrough, with similar functionality)\n\n## License\n\nBSD 3-Clause License\n\n## Credits\n\n**vba-edit** builds on an excellent idea first implemented for Excel in [xlwings](https://www.xlwings.org/) (BSD-3).\n\nSpecial thanks to **@onderhold** for improved header handling, RubberduckVBA folder and config file support in v0.4.0.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Enable seamless MS Office VBA code editing in preferred editor or IDE (facilitating the use of coding assistants and version control workflows)",
    "version": "0.4.0",
    "project_urls": {
        "Changelog": "https://github.com/markuskiller/vba-edit/blob/main/CHANGELOG.md",
        "Documentation": "https://github.com/markuskiller/vba-edit/blob/main/README.md",
        "Homepage": "https://langui.ch/current-projects/vba-edit/",
        "Source": "https://github.com/markuskiller/vba-edit"
    },
    "split_keywords": [
        "vba",
        " excel",
        " word",
        " office",
        " automation",
        " macro",
        " pypi"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b8416dfa862e0bbc30ffca1a4b4f4bd01c508de53b5a5c6bbb2e206392aa7a44",
                "md5": "66de164549303dd892600eaae614740a",
                "sha256": "641c7f33d1ac32ffc7df9bba6e04a0c57aa5f412ea719511b283c0593d87aa24"
            },
            "downloads": -1,
            "filename": "vba_edit-0.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "66de164549303dd892600eaae614740a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 58942,
            "upload_time": "2025-10-06T22:35:51",
            "upload_time_iso_8601": "2025-10-06T22:35:51.482161Z",
            "url": "https://files.pythonhosted.org/packages/b8/41/6dfa862e0bbc30ffca1a4b4f4bd01c508de53b5a5c6bbb2e206392aa7a44/vba_edit-0.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "96bd09601d0a4723e3401e0c8200ea52985a8e99e13f059dd6c7cf46f4e9a5eb",
                "md5": "b418841dd54f8a91c55e569e1d35341e",
                "sha256": "c6719867ed8eec42a2da93e608f71d3d5784e558072fe4a67606be32ef3e214d"
            },
            "downloads": -1,
            "filename": "vba_edit-0.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b418841dd54f8a91c55e569e1d35341e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 75666,
            "upload_time": "2025-10-06T22:35:52",
            "upload_time_iso_8601": "2025-10-06T22:35:52.783837Z",
            "url": "https://files.pythonhosted.org/packages/96/bd/09601d0a4723e3401e0c8200ea52985a8e99e13f059dd6c7cf46f4e9a5eb/vba_edit-0.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-06 22:35:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "markuskiller",
    "github_project": "vba-edit",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "vba-edit"
}
        
Elapsed time: 3.63441s