Early binding of Microsoft.Office.Interop.Word.WordBasic call in VB.NET
-
06-06-2021 - |
Question
I'm trying to call this code in VB.NET with "option strict on":
Dim application As word.Application = New word.Application
application.WordBasic.DisableAutoMacros(1)
The WordBasic object is dynamic, there is no type library available.
Now the compiler will complain, because late binding is not allowed.
Is there a workaround?
Solution
Yes, that got borken in vb.net since VS2008, a victim of the Linq and Option Infer powerhouses.
Making it early bound is too tricky, there are too many versions of VBA floating around. Notable is that I couldn't get Reflection working, which would normally be the early bound way to do late binding :) Best thing to do is put this code in a separate source code file so you can compile that with Option Strict Off in effect.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow