Ich habe ein freigegebenes Office-Add-In mit C# und .NET 2.0 geschrieben. Es verwendet den gleichen COM Shim für alle Office-Anwendungen. Derzeit erstellt jede Instanz eine eigene Instanz meiner Klasse - sie wissen nicht, dass das Add-In in einer anderen Anwendung ausgeführt wird.Freigeben von Add-Ins zwischen Office-Anwendungen
Ist es möglich, es so zu machen, dass, wenn das Word-Add-In gestartet wird, es feststellen kann, dass das Excel-Add-In bereits ausgeführt wird? Können sie untereinander kommunizieren?
Angenommen, meine DLL heißt Addin.dll. Wenn beispielsweise Word geöffnet wird, wird der Code in Addin.dll ausgeführt, der die IExtensibility-Schnittstelle implementiert und eine Klasse erstellt, nennen wir sie WordAddin. Wenn Excel geöffnet wird, wird auch der Code in Addin.dll ausgeführt, und es wird eine Instanz von ExcelAddin erstellt. Angenommen, Word läuft und WordAddin existiert. Wenn Excel geöffnet wird, wird Addin.dll in einer anderen Anwendungsdomäne geladen. Es ist nicht bekannt, dass WordAddin existiert. Ich möchte, dass ExcelAddin weiß, dass WordAddin existiert, und in der Lage sein, mit ihm zu kommunizieren, vielleicht durch eine Elternklasse, die beides erzeugt.
Wer weiß, wie man das macht?
Vielen Dank! Angenommen, meine DLL heißt Addin.dll. Wenn beispielsweise Word geöffnet wird, wird der Code in Addin.dll ausgeführt, der die IExtensibility-Schnittstelle implementiert und eine Klasse erstellt, nennen wir sie WordAddin. Wenn Excel geöffnet wird, wird auch der Code in Addin.dll ausgeführt, und es wird eine Instanz von ExcelAddin erstellt. Angenommen, Word läuft und WordAddin existiert. Wenn Excel geöffnet wird, wird Addin.dll in einer anderen Anwendungsdomäne geladen. Es ist nicht bekannt, dass WordAddin existiert. Ich möchte, dass ExcelAddin weiß, dass WordAddin existiert, und in der Lage sein, mit ihm zu kommunizieren, vielleicht durch eine Elternklasse, die beides erzeugt. – emrosenf
Ich schlage vor, Sie fügen zusätzliche Informationen hinzu. zu deiner ursprünglichen Frage .... –