This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+13 more
Summary
AI summaryAdds full read/write support for Word and PowerPoint macro files plus new create‑new helpers.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds full read/write support for Word macro-enabled files (.docm, .dotm, .doc). Adds full read/write support for Word macro-enabled files (.docm, .dotm, .doc). Source: llm_adapter@2026-05-27 Confidence: high |
— |
| Feature | Medium |
Adds full read/write support for PowerPoint macro-enabled files (.pptm, .potm, .ppt). Adds full read/write support for PowerPoint macro-enabled files (.pptm, .potm, .ppt). Source: llm_adapter@2026-05-27 Confidence: high |
— |
| Feature | Medium |
Adds `WordFile.create_new(path)` to create a brand‑new .docm file from scratch. Adds `WordFile.create_new(path)` to create a brand‑new .docm file from scratch. Source: llm_adapter@2026-05-27 Confidence: high |
— |
| Feature | Medium |
Adds `PowerPointFile.create_new(path)` to create a brand‑new .pptm file from scratch. Adds `PowerPointFile.create_new(path)` to create a brand‑new .pptm file from scratch. Source: llm_adapter@2026-05-27 Confidence: high |
— |
| Feature | Medium |
Adds disk‑based `pull_word()` and `push_word()` helpers mirroring Excel pull/push API. Adds disk‑based `pull_word()` and `push_word()` helpers mirroring Excel pull/push API. Source: llm_adapter@2026-05-27 Confidence: high |
— |
| Feature | Medium |
Adds disk‑based `pull_ppt()` and `push_ppt()` helpers for PowerPoint. Adds disk‑based `pull_ppt()` and `push_ppt()` helpers for PowerPoint. Source: llm_adapter@2026-05-27 Confidence: high |
— |
| Feature | Medium |
Adds `scripts/bake_xlsb_template.py` to bake empty .xlsb template into `_templates/__init__.py`. Adds `scripts/bake_xlsb_template.py` to bake empty .xlsb template into `_templates/__init__.py`. Source: llm_adapter@2026-05-27 Confidence: high |
— |
| Feature | Medium |
Adds full support for creating class modules across Excel, Word, and PowerPoint via `add_module(kind=other)`. Adds full support for creating class modules across Excel, Word, and PowerPoint via `add_module(kind=other)`. Source: llm_adapter@2026-05-27 Confidence: high |
— |
| Feature | Medium |
Adds `.xlsb` support to `ExcelFile.create_new()` using the file extension. Adds `.xlsb` support to `ExcelFile.create_new()` using the file extension. Source: llm_adapter@2026-05-27 Confidence: low |
— |
| Feature | Low |
Extends `ExcelFile.create_new()` to support `.xlsb` files based on the path extension. Extends `ExcelFile.create_new()` to support `.xlsb` files based on the path extension. Source: granite4.1:30b@2026-05-27-audit Confidence: low |
— |
| Refactor | Low |
Updates pyproject.toml description and keywords to include Word and PowerPoint hosts. Updates pyproject.toml description and keywords to include Word and PowerPoint hosts. Source: llm_adapter@2026-05-27 Confidence: high |
— |
| Refactor | Low |
Fully updates README with tagline, supported formats tables, 30‑second tour, `create_new` section, and pull/push workflow covering Excel, Word, and PowerPoint. Fully updates README with tagline, supported formats tables, 30‑second tour, `create_new` section, and pull/push workflow covering Excel, Word, and PowerPoint. Source: granite4.1:30b@2026-05-27-audit Confidence: low |
— |
Full changelog
Added
WordFile-- full read/write support for Word macro-enabled files:
.docm,.dotm(OOXML/ZIP), and legacy.doc(raw CFB/BIFF8).
Exposes the same API asExcelFile:module_names(),get_module(),
set_module(),vba_project(),save(),pull_modules(),
push_modules().PowerPointFile-- full read/write support for PowerPoint
macro-enabled files:.pptm,.potm(OOXML/ZIP), and legacy.ppt
(raw CFB). Same API surface asExcelFileandWordFile.WordFile.create_new(path)-- create a brand-new.docmfrom
scratch without launching Word. Ships withThisDocumentand an empty
Module1; opens cleanly with no repair prompt.PowerPointFile.create_new(path)-- create a brand-new.pptm
from scratch without launching PowerPoint. Ships with an empty
Module1; opens cleanly with no repair prompt.ExcelFile.create_new()now supports.xlsbin addition to
.xlsm. The extension in the path controls which baked-in template is
used.pull_word(document, dest_dir)/push_word(src_dir, document)
-- disk-based pull/push helpers for Word, mirroring the Excelpull()
/push()API.pull_ppt(presentation, dest_dir)/push_ppt(src_dir, presentation)
-- disk-based pull/push helpers for PowerPoint.scripts/bake_xlsb_template.py-- bakes the empty.xlsbtemplate
blob into_templates/__init__.pyusing the same splice pattern as the
docm/pptm bake scripts.- Class module creation is now fully supported across all three hosts.
When adding a class module viaadd_module(kind=other), callers must
supply the full attribute header including
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"(the
universal VBA class CLSID); without it Office raises "Invalid procedure
call or argument" on instantiation.
Changed
pyproject.tomldescription updated to reflect all three supported
Office hosts;word,powerpoint,docm, andpptmadded to
keywords.- README fully updated: tagline, supported formats tables, 30-second tour,
create_newsection, and pull/push workflow section now cover Excel,
Word, and PowerPoint.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About WilliamSmithEdward/pyOpenVBA
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]