
Esecuzione di .NET da VBA
Solo sperimentando diversi modi per caricare assembly CLR (.NET) in VBA localmente e remotamente usando AppDomain.ExecuteAssembly o qualsiasi altro metodo utile dopo aver aggirato AccessVBOM (l'accesso programmatico al progetto Visual Basic non è attendibile) da VBA.
vba2clr.*.vba:
AccessVBOM a 1Word.Application. (potrebbe essere Excel.Application, MS PowerPoint, Access ..ecc.).wordObj.Application.Run...ExecuteAssembly.clr.2.0.vba: Fino a .NET 3.5
IDomain, ICRHost)AppDomain.ExecuteAssembly in due array separati (variabili, tipi).AppDomain.ExecuteAssembly(Arg1, Arg2) (offset VFTable 51) dove Arg1 è l'"URL dell'assembly .NET" o "Percorso locale" e Arg2 è il valore di ritorno.QueryInterface, AddRef, Release.ExecuteAssembly.clr.x.vba: supporta .NET 2, 3.5 e 4.x
Word.Application (o Excel.Application ..ecc.) comporterà la generazione di un WinWord.exe aggiuntivo come processo figlio di svchost.exe invece del processo principale WinWord.exe.AccessVBOM viene modificata/ripristinata via COM usando WScript.Shell; usare le API win32 potrebbe essere un'alternativa migliore.AccessVBOM; lascerò questo per un altro giorno...System.CodeDom.Compiler possono essere usate per compilare/eseguire codice C# da VBA; controlla il riferimento qui sotto;