Ufficio interoperabilità 2003 con solo Office 2010 installato
-
04-10-2019 - |
Domanda
Abbiamo un'applicazione (.NET 2.0) che utilizza Outlook 2003 (caratteristiche di Microsoft Office 11.0 Object Library). Il mio nuovo computer è dotato di Windows 7 e Office 2010 installati, ei riferimenti non funzionano più (c'è solo Office 14 Object Library disponibili).
C'è un modo per utilizzare Office 2003 DLL quando è installato Office 2010 (ho sentito che il 2003 e il 2010 non può essere installato sulla stessa macchina)? Ho provato ad installare il "ridistribuibili Primary Interop Assemblies" per Office 2003, ma non ha potuto fare a meno di installare Office 2003.
Soluzione
Piuttosto che fa riferimento a una versione specifica delle librerie, utilizzare l'associazione tardiva. In questo modo è possibile sviluppare contro una versione, ma finché vi limitate a utilizzare funzionalità comuni che sarà lavorare in altre versioni pure.
In questo articolo si spiega la differenza Binding per i server di automazione di Office con Visual C # .NET
Si può essere più facile da fare lo sviluppo utilizzando l'associazione anticipata in modo da ottenere Intellisense e quindi rimuovendo i riferimenti più tardi (che avrà un po 'di tempo. Se vale la pena itdepends un po' sul vostro livello di abilità con lo sviluppo di Office.
Altri suggerimenti
dubito kor_ continua ad avere questo problema, ma ho avuto difficoltà a trovare aiuto su questo.
ho avuto un problema simile e ha trovato NetOffice dopo molte ricerche. E 'un wrapper per l'oggetto COM in modo che si può ottenere late-binding compatibilità, senza dover modificare il codice.
Credo che i PIA devono ancora essere installati dall'utente insieme a ufficio.
Con l'associazione tardiva è possibile rimuovere qualsiasi riferimento a Office Interop DLL. Abbiamo lo stesso problema come voi e funziona:
Dim OutlApp As Object
Dim NewEmail As Object
OutlApp = CreateObject("Outlook.Application")
NewEmail = OutlApp.CreateItem(0)