Skip to content

Add matita, Python wrapper for the VBA object library#60

Open
lucafrance wants to merge 1 commit intosancarn:mainfrom
lucafrance:matita
Open

Add matita, Python wrapper for the VBA object library#60
lucafrance wants to merge 1 commit intosancarn:mainfrom
lucafrance:matita

Conversation

@lucafrance
Copy link
Copy Markdown

A new library I developed. I hope it is fine to add it here.

@lucafrance lucafrance changed the title Add matita, Python wrapper fot the VBA object library Add matita, Python wrapper for the VBA object library Jan 12, 2026
@sancarn
Copy link
Copy Markdown
Owner

sancarn commented Mar 23, 2026

I'm torn on this. It feels like something that should be in awesome-python rather than awesome-vba. But in those cases you already have the likes of pyexcel which are far more optimal because they don't rely on the Excel application being opened during runtime, they work directly on the xlsx.

Should we be encouraging developers to use the Excel object model, when we know it's not really scalable? 🤷 That said, the way you've generated the code is impressive. On the other hand, this doesn't really have anything to do with VBA, it just interacts with the same API which VBA interacts with - the COM object model.

So yeah, quite torn here.

@lucafrance
Copy link
Copy Markdown
Author

lucafrance commented Apr 13, 2026

I agree that for data manipulation pyexcel is more straightforward.

I had other motivations for creating matita:

  • The syntax is as close as possible to VBA, while still being pythonic. Being already familiar with VBA, I can reuse the knowledge I already have. It also simplifies a lot porting VBA code to Python.
  • All major office applications are covered, not just Excel (Word, PowerPoint, Outlook). This allows automation across applications, e.g. creating an email from a Word template or a copying an Excel chart to PowerPoint.
  • There are formatting options with matita which (as far as I know), are not fully supported by other Python libraries. E.g. editing charts with the Excel or adding animations in PowerPoint.

Thank you for sharing your thoughts. I understand that my library covers a specific use case which does not necessarily fit in the scope of awesome-vba. It is your call as owner of the repository whether to include it or not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants