@this I've been thinking about that, and I think we're missing something. There's an interface between VBA and its host. For third party hosts, that's ths VBA (COM) API provided by the SDK. For Office, it's something lower (as hinted by Wayne). The obvious candidate is native funtion exports, which I suspect the VBA COM API wraps.
If so, that should be hookable, no?
So we can intercept or invoke the VBA call to "get me this stream" or "store this stream"
@FreeMan Sure that's not a problem. I just have to remember where it is. It's on one of the VMs I haven't fired up in months. I'll get back to you (soon).
@this But that's the point - the duck's brains don't involve COM, or Win32, or WPF. Analysis of VBA code is entirely independent of those, and exactly what would go in a language server, in any language we choose. The (boring?) front-end UI and COM bits would be the only things tied to all the Windows gubbins.
@Vogel612 Sorry, I'm still not explaining well... The back-end projects could be .Net Core (or... anything else). The front-end projects would stay as (decently old) netfx. No multi-targetting needed.
They now first try to use the filename, then try to get it from the caption, but with enhanced handling when running into the VBE aPI bug and finally fall back to the BuildFileName.
At least some elements changes but the colors are kind of off in some places.
it doesn't help that XAMl designer is simply useless for previewing changes what with it whining about can't find controls etc. etc. so I'm just setting windows color randomly.
I am storing Table Header values into a collection using an OOP approach with VBA. Being new to this OOP approach, am I breaking any rules in the way my Public Property exposes how the values are retrieved in the For Each Loop, should I be defining this in a Sub Routine or Function instead?
Publ...
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5384?src=pr&el=h1) Report > Merging [#5384](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5384?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/d76917c082ea269f8bceb9ecc46c61cc613c39d5?src=pr&el=desc) will **not change** coverage. > The diff coverage is `n/a`.
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5387?src=pr&el=h1) Report > Merging [#5387](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5387?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/c4ad4c82cf148c6ffeb168911397f35f5c79d249?src=pr&el=desc) will **decrease** coverage by `0.07%`. > The diff coverage is `28.83%`.
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5384?src=pr&el=h1) Report > Merging [#5384](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5384?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/d2d3f1fbbb811af10a3efb669490ae7971f8ddec&el=desc) will **increase** coverage by `0.06%`. > The diff coverage is `n/a`.