Open chelh opened 8 years ago
Was there any particular difficulty that you were having with this? I created this functionality for Rubberduck a few years ago, albeit we leveraged the VBIDE library. I no longer have an office install, but I'd be happy to talk out any issues.
Rubberduck is working within the Access/VBE object model though, correct? This project doesn't use that object model; it reads and writes directly to the Office file.
It does, and you are gonna have one heck of a time yanking VBA files out of Access without the VBIDE library... Access doesn't share the OpenXml format.
I don't precisely recall, but I believe there are hidden system tables in the accdb that keep track of forms and code modules, but it's been a long while since I looked at that.
Regardless, I wanted to leave the offer to use me as a rubberduck anytime.
Looks like Jackcess can read Access files from Java. So what's needed is a .Net port of that.
Are you sure that project can get to the VBA modules? It doesn't look like it at a glance.
If I take that project up, I'm fairly certain I would find a vbaProject.bin
somewhere in the internal structure.
EDIT: Nope. After playing around with Jackcess, I can say that porting it to .Net is easier said than done, and VBA project information is spread across at least two system tables, not stored in a binary structure similar to Word/Excel/Outlook VBA.
If you want to spend a little money - this solution works great https://dev2dev.de/index.php?lang=en and has a nice support from the developer.
Add support for extracting and publishing VBA from/to Access databases (
.mdb
and.accdb
).