Ho vissuto con questo problema negli ultimi anni. VBA è praticamente morto, eppure il modello VSTO per me è stato proprio come hai detto tu: buggy, inflessibile e lento. Quindi l'ho visto come una scelta per portare a termine il lavoro in modo rapido ed efficace, ma lasciare che le mie competenze professionali stagnino o svolgere il lavoro in modo doloroso ma allo stesso tempo sviluppare competenze che saranno disponibili in futuro.
La mia scelta è stata quest'ultima (VSTO), ovvero fino a quando Microsoft ha iniziato a cambiare la strategia generale a partire da circa un anno fa dallo sviluppo esclusivo proprietario (.NET), fino ad abbracciare il resto della comunità di sviluppo (C ++, javascript, html, eccetera). A quel punto il modello VSTO del futuro non sembrava così concreto. Quindi ho detto di fanculo, sono tornato a VBA veloce e facile.
Alcuni mesi più tardi e la mia scelta è stata ripagata: Microsoft ha annunciato che le "app" di Office 2013 o l'automazione possono essere create in javascript. Osservando le altre tendenze (Typescript, asp.net abbracciando js, html) sembra che questa potrebbe essere la lingua preferita da microsoft per l'ufficio in futuro. Sembra anche che non investiranno molto nella piattaforma VSTO andando avanti.
Quindi tl; dr : se sei principalmente uno sviluppatore di applicazioni per ufficio, continua con vba, impara js quando hai tempo e aspetta che la tua azienda si aggiorni a Office 2013.
Aggiornamento:
Così Office 2013 è stato distribuito e l'API di Javascript è stata gravemente priva di funzionalità. Nel suo stato attuale, non credo che possa sostituire VBA tranne che per le applicazioni più rudimentali.
Aggiornamento agosto 2015:
JS Office Apps è uscito da qualche anno. Durante questo periodo ho atteso che l'Api si espandesse allo stesso livello di funzionalità di quello che abbiamo con VBA / VSTO. Mentre ho sentito voci secondo cui Office 2016 porterà più funzionalità API per l'ecosistema di Office Apps, l'API non è realmente evoluta per supportare le tue applicazioni di automazione LOB standard. Da ciò che Microsoft ha rilasciato finora (comprese le nuove API di Office rinnovate) sembra che non siano focalizzati su questo. Speculare qui, ma sembra che Microsoft consideri le app di Office come un'interfaccia per il web / cloud / negozio online. Le app di Office non sono pensate per essere un'applicazione al punto da fornire una finestra per un'applicazione. L'attenzione è anche sull'interattività dell'utente, al contrario dell'automazione. Questo è fondamentalmente diverso rispetto al modello VBA / VSTO, che considera Office come l'applicazione, è una propria applicazione autonoma. Non mi aspetto che Apps possa supportare i casi di utilizzo di VBA / VSTO in qualsiasi momento. Ricordo di aver letto che Microsoft voleva che l'automazione di un ufficio pesante si estinguesse, probabilmente a causa dei rischi per la sicurezza, tra le altre cose. Ora utilizzo VSTO per l'automazione di Office.