Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Visual Studio 2013 enthält Projekte zum Erstellen von Anpassungen auf Dokumentebene für Microsoft Office Word und Microsoft Office Excel. In diesem Thema werden die folgenden Aspekte der Anpassungen auf Dokumentebene beschrieben:
Funktionsweise von Anpassungen mit Microsoft Office-Anwendungen
Gilt für: Die Informationen in diesem Thema gelten für Projekte auf Dokumentebene für Excel und Word. Weitere Informationen finden Sie unter Funktionen verfügbar nach Office-Anwendung und Projekttyp.
Allgemeine Informationen zum Erstellen von Anpassungen auf Dokumentebene finden Sie in der Übersicht über die Entwicklung von Office-Lösungen (VSTO),erste Schritte beim Programmieren von Anpassungen auf Dokumentebene für Word und erste Schritte bei der Programmierung von Anpassungen auf Dokumentebene für Excel.
Verständnis von Anpassungen
Wenn Sie die Office-Entwicklertools in Visual Studio zum Erstellen einer Anpassung auf Dokumentebene verwenden, erstellen Sie eine Verwaltete Codeassembly, die einem bestimmten Dokument zugeordnet ist. Ein Dokument oder eine Arbeitsmappe mit einer verknüpften Assembly soll über verwaltete Codeerweiterungen verfügen. Weitere Informationen finden Sie unter Entwerfen und Erstellen von Office-Lösungen.
Wenn ein Benutzer das Dokument öffnet, wird die Assembly von der Microsoft Office-Anwendung geladen. Nachdem die Assembly geladen wurde, kann die Anpassung auf Ereignisse reagieren, während das Dokument geöffnet ist. Die Anpassung kann auch das Objektmodell aufrufen, um die Anwendung zu automatisieren und zu erweitern, während das Dokument geöffnet ist, und sie kann jede der Klassen in .NET Framework verwenden.
Die Assembly kommuniziert mit den COM-Komponenten der Anwendung über die Primäre Interop-Assembly der Anwendung. Weitere Informationen finden Sie unter Primäre Interop-Assemblys für Office und Übersicht über die Entwicklung von Office-Lösungen (VSTO).
Wenn ein Benutzer mehrere Anpassungen auf Dokumentebene gleichzeitig öffnet, wird jede Assembly in eine andere Anwendungsdomäne geladen. Dies bedeutet, dass eine Lösung, die sich falsch verhält, nicht dazu führen kann, dass andere Lösungen fehlschlagen. Anpassungen auf Dokumentebene sind für die Arbeit mit einem einzelnen Dokument in einer einzigen Anwendungsdomäne konzipiert. Sie sind nicht für die dokumentübergreifende Kommunikation konzipiert. Weitere Informationen zu Anwendungsdomänen finden Sie unter Anwendungsdomänen.
Hinweis
Anpassungen auf Dokumentebene, die Sie mithilfe der Office-Entwicklertools in Visual Studio erstellen, werden nur verwendet, wenn die Anwendung von einem Endbenutzer gestartet wird. Wenn die Anwendung programmgesteuert gestartet wird, z. B. mithilfe der Automatisierung, funktioniert die Anpassung möglicherweise nicht wie erwartet.
Entwurfszeit- und Laufzeiterfahrungen
Um die Architektur von Anpassungen auf Dokumentebene zu verstehen, hilft es, die Erfahrungen beim Entwerfen einer Lösung und beim Ausführen einer Lösung zu verstehen.
Entwurfszeit
Die Entwurfszeiterfahrung umfasst die folgenden Schritte:
Der Entwickler erstellt ein Projekt auf Dokumentebene in Visual Studio. Das Projekt enthält das Dokument und die Assembly, die hinter dem Dokument ausgeführt wird. Möglicherweise ist das Dokument bereits vorhanden (von einem Designer erstellt), oder ein neues Dokument kann zusammen mit dem Projekt erstellt werden.
Der Designer – entweder der Entwickler, der das Projekt erstellt oder eine andere Person – erstellt das endgültige Erscheinungsbild des Dokuments für den Endbenutzer.
Laufzeit
Die Laufzeiterfahrung beinhaltet die folgenden Schritte:
Der Endbenutzer öffnet ein Dokument oder eine Arbeitsmappe mit Erweiterungen mit verwaltetem Code.
Das Dokument oder die Arbeitsmappe lädt die kompilierte Assembly.
Die Assembly antwortet auf Ereignisse, während der Benutzer am Dokument oder an der Arbeitsmappe arbeitet.
Entwickler- und Endbenutzerperspektive im Vergleich
Da der Entwickler hauptsächlich in Visual Studio arbeitet und der Endbenutzer in Word oder Excel arbeitet, gibt es zwei Möglichkeiten, Anpassungen auf Dokumentebene zu verstehen.
| Perspektive des Entwicklers | Perspektive des Endbenutzers |
|---|---|
| Mithilfe von Visual Studio schreibt der Entwickler Code, der für Word und Excel zugänglich ist. Obwohl der Entwickler möglicherweise eine ausführbare Datei erstellt, die Word oder Excel ausführt, funktioniert der Prozess tatsächlich anders. Das Dokument ist einer Assembly zugeordnet und enthält einen Zeiger auf diese Assembly. Wenn das Dokument geöffnet wird, sucht Word oder Excel die Assembly und führt den Code als Reaktion auf alle behandelten Ereignisse aus. |
Diejenigen, die die Lösung verwenden, öffnen einfach das Dokument oder die Arbeitsmappe (oder erstellen sie ein neues Dokument aus einer Vorlage), genau wie jede andere Microsoft Office-Datei. Die Assembly stellt Anpassungen im Dokument oder in der Arbeitsmappe bereit, z. B. das automatische Auffüllen mit aktuellen Daten oder das Anzeigen eines Dialogfelds zum Anfordern von Informationen. |
Unterstützte Dokumentformate für Anpassungen auf Dokumentebene
Wenn Sie ein Anpassungsprojekt erstellen, können Sie das Format des Dokuments auswählen, das Sie im Projekt verwenden möchten. Weitere Informationen finden Sie unter How to: Create Office projects in Visual Studio.
In der folgenden Tabelle sind die Dokumentformate aufgeführt, die Sie in Anpassungen auf Dokumentebene für Excel und Word verwenden können.
| Excel | Wort |
|---|---|
| Excel-Arbeitsmappe (.xlsx) Excel-Arbeitsmappe mit Makros (XLSM) Excel-Binärarbeitsmappe (XLSB) Excel 97-2003-Arbeitsmappe (.xls) Excel-Vorlage (XLTX) Excel-Vorlage mit Makros (XLTM) Excel 97-2003-Vorlage (XLT) |
Word-Dokument (.docx) Word-Dokument mit Makros (DOCM) Word 97-2003-Dokument (.doc) Word-Vorlage (DOTX) Word-Vorlage mit Makros (.dotm) Word 97-2003-Vorlage (DOT) |
Sie sollten verwaltete Codeerweiterungen nur für Dokumente in den unterstützten Formaten entwerfen. Andernfalls werden bestimmte Ereignisse möglicherweise nicht ausgelöst, wenn das Dokument in der Anwendung geöffnet wird. Beispielsweise wird das Open-Ereignis nicht ausgelöst, wenn Sie verwaltete Codeerweiterungen mit Arbeitsmappen verwenden, die im Excel-XML-Tabellenkalkulationsformat oder im Webseiten (.htm; .html)-Format gespeichert sind.
Unterstützung für Word-Dokumente mit .xml Dateinamenerweiterungen
Mit den Projektvorlagen auf Dokumentebene können Sie keine Projekte basierend auf den folgenden Dateiformaten erstellen:
Word-XML-Dokument (*xml).
Word 2003-XML-Dokument (*xml).
Wenn Ihre Endbenutzer Anpassungen in diesen Dateiformaten verwenden möchten, erstellen Und bereitstellen Sie eine Anpassung, die eines der in der obigen Tabelle angegebenen unterstützten Dateiformate verwendet. Nach der Installation der Anpassung können Endbenutzer das Dokument im Word XML-Dokumentformat (*xml) oder im Word 2003 XML-Dokumentformat (*xml) speichern, und die Anpassung funktioniert weiterhin wie erwartet.
Komponenten von Anpassungen
Die Hauptkomponenten einer Anpassung sind das Dokument und die Assembly. Zusätzlich zu diesen Komponenten gibt es mehrere weitere Bestandteile, die eine wichtige Rolle dabei spielen, wie Microsoft Office-Anwendungen Anpassungen ermitteln und laden.
Bereitstellungsmanifest und Anwendungsmanifest
Anpassungen verwenden Bereitstellungsmanifeste und Anwendungsmanifeste, um die neueste Version der Anpassungsassembly zu identifizieren und zu laden. Das Bereitstellungsmanifest verweist auf das aktuelle Anwendungsmanifest. Das Anwendungsmanifest verweist auf die Anpassungsassembly und gibt die Einstiegspunktklasse (oder Klassen) an, die in der Assembly ausgeführt werden soll. Weitere Informationen finden Sie unter Anwendungs- und Bereitstellungsmanifesten in Office-Lösungen.
Visual Studio Tools für Office-Runtime
Zum Ausführen von Anpassungen auf Dokumentebene, die mithilfe der Office-Entwicklertools in Visual Studio erstellt werden, müssen Endbenutzercomputer die Visual Studio-Tools für Office-Laufzeit installiert haben. Die Visual Studio Tools für Office Runtime umfassen nicht verwaltete Komponenten, die die Anpassungsassemblies laden, sowie eine Reihe von verwalteten Assemblies. Diese verwalteten Assemblys stellen das Objektmodell bereit, das Ihr Anpassungscode zum Automatisieren und Erweitern der Hostanwendung verwendet.
Weitere Informationen finden Sie unter Visual Studio-Tools für Office-Laufzeitübersicht.
Funktionsweise von Anpassungen mit Microsoft Office-Anwendungen
Wenn ein Benutzer ein Dokument öffnet, das Teil einer Microsoft Office-Anpassung ist, verwendet die Anwendung das Bereitstellungsmanifest, das mit dem Dokument verknüpft ist, um die aktuellste Version der Anpassungsassembly zu suchen und zu laden. Der Speicherort des Bereitstellungsmanifests wird in einer benutzerdefinierten Dokumenteigenschaft namens "AssemblyLocation" gespeichert. Die Zeichenfolge, die diesen Speicherort identifiziert, wird beim Erstellen der Lösung in die Eigenschaft eingefügt.
Das Bereitstellungsmanifest verweist auf das Anwendungsmanifest, das dann auf die aktuellste Assembly verweist. Weitere Informationen finden Sie unter Anwendungs- und Bereitstellungsmanifesten in Office-Lösungen.
Die folgende Abbildung zeigt die grundlegende Architektur einer Anpassung auf Dokumentebene.
Hinweis
In Office-Lösungen, die auf .NET Framework 4 abzielen, rufen Lösungen das Objektmodell der Hostanwendung mithilfe der primären Interopassembly (PIA)-Typinformationen auf, die in die Lösungsassembly eingebettet sind, anstatt die PIA direkt aufzurufen. Weitere Informationen finden Sie unter Entwerfen und Erstellen von Office-Lösungen.
Ladevorgang
Die folgenden Schritte treten auf, wenn ein Benutzer ein Dokument öffnet, das Teil einer Microsoft Office-Lösung ist.
Die Microsoft Office-Anwendung überprüft die benutzerdefinierten Dokumenteigenschaften, um festzustellen, ob dem Dokument verwaltete Codeerweiterungen zugeordnet sind. Weitere Informationen finden Sie unter Übersicht über benutzerdefinierte Dokumenteigenschaften.
Wenn verwaltete Codeerweiterungen vorhanden sind, lädt die Anwendung VSTOEE.dll, wodurch VSTOLoader.dllgeladen wird. Hierbei handelt es sich um nicht verwaltete DLLs, bei denen es sich um die Ladekomponenten für die Visual Studio 2010 Tools for Office-Laufzeit handelt. Weitere Informationen finden Sie unter Visual Studio Tools for Office runtime overview.
VSTOLoader.dll lädt das .NET Framework und startet den verwalteten Abschnitt der Visual Studio Tools for Office-Runtime.
Wenn das Dokument von einem anderen Speicherort als dem lokalen Computer geöffnet wird, überprüft die Visual Studio Tools für Office-Laufzeit, ob sich der Speicherort des Dokuments in der Liste "Vertrauenswürdige Speicherorte " in den Trust Center-Einstellungen für diese bestimmte Office-Anwendung befindet. Wenn sich der Dokumentspeicherort nicht an einem vertrauenswürdigen Speicherort befindet, ist die Anpassung nicht vertrauenswürdig, und der Ladevorgang wird hier beendet.
Die Visual Studio Tools für Office-Laufzeit installiert die Lösung, wenn sie noch nicht installiert wurde, lädt die neuesten Anwendungs- und Bereitstellungsmanifeste herunter und führt eine Reihe von Sicherheitsprüfungen durch. Weitere Informationen finden Sie unter Secure Office solutions.
Wenn die Anpassung für die Ausführung als vertrauenswürdig gilt, verwendet die Visual Studio Tools for Office-Laufzeitumgebung das Bereitstellungsmanifest und das Anwendungsmanifest, um nach Assembly-Updates zu suchen. Wenn eine neue Version der Assembly verfügbar ist, lädt die Laufzeit die neue Version der Assembly in den ClickOnce-Cache auf dem Clientcomputer herunter. Weitere Informationen finden Sie unter Bereitstellen einer Office-Lösung.
Die Visual Studio Tools für Office-Laufzeit erstellt eine neue Anwendungsdomäne, in der die Anpassungsassembly geladen werden soll.
Die Visual Studio Tools für Office-Laufzeit lädt die Anpassungs-Assembly in die Anwendungsdomäne.
Die Visual Studio Tools für die Office Runtime rufen den Startup-Ereignishandler in Ihrer Anpassungs-Assembly auf. Weitere Informationen finden Sie unter "Ereignisse in Office-Projekten".
Verwandte Inhalte
- Architektur von Office-Lösungen in Visual Studio
- Architektur von VSTO-Add-Ins
- Übersicht über Visual Studio-Tools für Office-Runtime
- Sichere Office-Lösungen
- Entwerfen und Erstellen von Office-Lösungen
- Übersicht über benutzerdefinierte Dokumenteigenschaften
- Zwischengespeicherte Daten in Anpassungen auf Dokumentebene