Behandeln von Problemen in Office-Lösungen
Gilt für: Visual Studio
In diesem Artikel wird erläutert, wie Sie Probleme beheben können, die beim Entwickeln von Office-Lösungen in Visual Studio。 auftreten können.
Probleme beim Erstellen, Aktualisieren und Öffnen von Projekten
Beim Erstellen oder Öffnen von Office-Projekten treten möglicherweise die folgenden Probleme auf.
Problem 1: Das Projekt kann nicht erstellt werden
Wenn ein Fehler auftritt, wenn Sie versuchen, ein Office-Projekt zu erstellen oder zu öffnen, aber Visual Studio nicht genügend Informationen enthält, um die Ursache zu ermitteln, versuchen Sie, Das Projekt zu schließen, Visual Studio zu beenden und erneut zu starten.
Wenn Sie versuchen, ein Projekt auf Dokumentebene zu erstellen, ist es möglich, dass ein anderes Dokument mit demselben Namen wie das Dokument im neuen Projekt bereits in Excel oder Word geöffnet ist. Stellen Sie sicher, dass alle anderen Instanzen von Excel oder Word geschlossen sind.
Problem 2: Steuerelementeigenschaften gehen verloren, wenn Sie ein neues Projekt basierend auf einem Dokument aus einem vorhandenen Projekt erstellen.
Wenn Sie ein neues Office-Projekt basierend auf einem Dokument aus einem vorhandenen Projekt erstellen, werden die Eigenschaften für alle Steuerelemente, die sich im Dokument befinden, nicht in das neue Projekt kopiert. Setzen Sie die Eigenschaften für alle bereits vorhandenen Steuerelemente manuell zurück. Alternativ können Sie die Steuerelementeigenschaften beibehalten, indem Sie statt eines neuen Projekts eine Kopie des vorhandenen Projekts erstellen oder indem Sie das vorhandene Projekt in die neue Projektmappe (im Designer) laden und die Steuerelemente aus dem vorhandenen Dokument kopieren und in das neue Dokument einfügen.
Problem 3: Fehler beim Erstellen eines Excel-Arbeitsmappenprojekts basierend auf einer vorhandenen Arbeitsmappe
Wenn Sie ein neues Excel-Arbeitsmappenprojekt basierend auf einer vorhandenen Arbeitsmappe erstellen, wird möglicherweise eine Kombination der folgenden Fehler angezeigt.
- Excel: "Datenschutzwarnung: Dieses Dokument enthält Makros, ActiveX-Steuerelemente, XML-Erweiterungspaketinformationen oder Webkomponenten. Diese enthalten möglicherweise persönliche Informationen, die durch die Dokumentprüfung nicht entfernt werden können."
- Visual Studio: "Der Designer wurde nicht ordnungsgemäß geladen."
Diese Fehler können auftreten, wenn Sie versuchen, ein Projekt zu erstellen, das auf einer Arbeitsmappe basiert, deren persönliche Informationen mithilfe der Dokumentprüfung entfernt wurden. Führen Sie vor dem Erstellen des Projekts die folgenden Schritte aus, um dieses PROBLEM zu vermeiden:
- Öffnen Sie die Arbeitsmappe in Excel.
- Öffnen Sie in Excel das Trust Center.
- Deaktivieren Sie auf der Registerkarte "Datenschutzoptionen " das Kontrollkästchen "Persönliche Informationen aus Dateieigenschaften entfernen".
- Speichern Sie die Arbeitsmappe, und schließen Sie Excel.
Problem 4: Ein Projekt nach der Migration kann nicht geöffnet werden
Nachdem eine Office-Lösung zu Microsoft Office 2010 migriert wurde, kann das Projekt nicht auf einem Entwicklungscomputer geöffnet werden, auf dem nur das 2007 Microsoft Office System installiert ist. Die folgenden Fehler können angezeigt werden.
- "Ein oder mehrere Projekte in der Projektmappe wurden nicht ordnungsgemäß geladen. Details finden Sie im Ausgabefenster."
- "Das Projekt kann nicht erstellt werden, da die diesem Projekttyp zugeordnete Anwendung nicht auf diesem Computer installiert ist. Sie müssen die diesem Projekttyp zugeordnete Microsoft Office-Anwendung installieren."
Um dieses Problem zu beheben, bearbeiten Sie die .vbproj - oder CSPROJ-Datei . Ersetzen Sie für ein Word-Projekt durch HostPackage="{763FDC83-64E5-4651-AC9B-28C4FEB985A1}"
HostPackage="{6CE98B71-D55A-4305-87A8-0D6E368D9600}"
. Ersetzen Sie für ein Excel-Projekt durch HostPackage="{B284B16A-C42C-4438-BDCD-B72F4AC43CFB}"
HostPackage="{825100CF-0BA7-47EA-A084-DCF3308DAF74}"
. Ersetzen Sie für ein Outlook-Projekt durch HostPackage="{D2B20FF5-A6E5-47E1-90E8-463C6860CB05}"
HostPackage="{20A848B8-E01F-4801-962E-25DB0FF57389}"
.
Stellen Sie alternativ sicher, dass migrierte Projekte nur auf Entwicklungscomputern geöffnet werden, auf denen Microsoft Office 2010 bereits installiert ist.
Problem 5: Fehler in aktualisierten Office 2003-Projekten auf Dokumentebene, die Windows Forms-Steuerelemente enthalten
Wenn Sie ein Microsoft Office 2003-Projekt auf Dokumentebene aktualisieren und das Dokument Windows Forms-Steuerelemente enthält, weist das aktualisierte Projekt möglicherweise Kompilierungs- oder Laufzeitfehler auf. Um dieses Problem zu vermeiden, installieren Sie vor dem Aktualisieren des Projekts die Visual Studio 2005-Tools für Office Second Edition-Laufzeit auf dem Entwicklungscomputer. Diese Version der Laufzeit steht im Microsoft Download Center unter Microsoft Visual Studio 2005-Tools für Office Second Edition-Laufzeit (VSTO 2005 SE) (x86)als verteilbares Paket zur Verfügung.
Nachdem Sie das Upgrade des Projekts abgeschlossen haben, können Sie die Visual Studio 2005 Tools for Office Second Edition Runtime vom Entwicklungscomputer deinstallieren, wenn es nicht von anderen Office-Lösungen verwendet wird.
Probleme beim Verwenden der Designer
Beim Arbeiten mit dem Dokument-, Arbeitsmappen- oder Arbeitsblatt-Designer in Projekten auf Dokumentebene treten möglicherweise die folgenden Probleme auf.
Problem 1: Der Designer konnte nicht ordnungsgemäß geladen werden.
Visual Studio kann den Designer in den folgenden Fällen nicht öffnen:
- Excel oder Word ist bereits geöffnet und zeigt ein modales Dialogfeld an. Um den Designer zu öffnen, prüfen Sie, ob in Excel oder Word ein modales Dialogfeld geöffnet ist, und schließen Sie alle geöffneten modalen Dialogfelder. Wenn keine modalen Dialogfelder geöffnet sind, sind möglicherweise andere Maßnahmen erforderlich, damit Excel bzw. Word reagiert.
- Das Projekt wird gerade debuggt. Beenden Sie den Debugvorgang, oder schließen Sie ihn ab, um den Designer zu öffnen.
- Ein auf dem Entwicklungscomputer installiertes Excel-VSTO-Add-In zeigt ein Dialogfeld an, wenn Excel gestartet wird. Um ein Excel-Projekt auf Dokumentebene zu erstellen, müssen Sie zuerst das VSTO-Add-In deaktivieren.
Problem 2: Steuerelemente werden im Dokument oder Arbeitsblatt als schwarze Rechtecke angezeigt
Wenn Sie Steuerelemente in einem Dokument oder Arbeitsblatt gruppieren, erkennt Visual Studio die Steuerelemente nicht mehr. Auf gruppierte Steuerelemente kann im Eigenschaftenfenster nicht zugegriffen werden, und sie werden im Dokument oder Arbeitsblatt als schwarze Rechtecke angezeigt. Sie müssen die Gruppierung der Steuerelemente aufheben, um ihre Funktionalität wiederherzustellen.
Problem 3: Steuerelemente in einer Word-Vorlage sind in Visual Studio nicht sichtbar
Wenn Sie eine Word-Vorlage im Visual Studio-Designer öffnen, sind Steuerelemente in der Vorlage, die sich nicht in Zeile mit Text befinden, möglicherweise nicht sichtbar. Dies liegt daran, dass Visual Studio Word-Vorlagen in der Normalansicht öffnet. Um die Steuerelemente anzuzeigen, wählen Sie das Menü "Ansicht" aus, zeigen Sie auf Die Microsoft Office Word-Ansicht, und wählen Sie dann "Drucklayout" aus.
Problem 4: Befehl "ClipArt einfügen" führt im Visual Studio-Designer nichts aus.
Wenn Excel oder Word im Visual Studio-Designer geöffnet ist, wird durch Klicken auf die Schaltfläche "ClipArt" auf der Registerkarte "Illustrationen" im Menüband der Aufgabenbereich "ClipArt" nicht geöffnet. Zum Hinzufügen von ClipArt müssen Sie die Kopie der Arbeitsmappe oder des Dokuments öffnen, die sich im Hauptprojektordner befindet (nicht die Kopie, die sich im Ordner "\bin ") außerhalb von Visual Studio befindet, das ClipArt-Objekt hinzufügen und dann die Arbeitsmappe oder das Dokument speichern.
Probleme beim Schreiben von Code
Beim Schreiben von Code in Office-Projekten treten möglicherweise die folgenden Probleme auf.
Problem 1: Auf einige Ereignisse von Office-Objekten kann nicht zugegriffen werden, wenn Sie C verwenden#
In einigen Fällen kann ein Compilerfehler wie der folgende angezeigt werden, wenn Sie versuchen, auf ein bestimmtes Ereignis einer Instanz eines primären Interopassemblytyps (PIA) für Office in einem Visual C#-Projekt zuzugreifen.
Mehrdeutigkeit zwischen 'Microsoft.Office.Interop.Excel._Application.NewWorkbook' und 'Microsoft.Office.Interop.Excel.AppEvents_Event.NewWorkbook'
Dieser Fehler bedeutet, dass Sie versuchen, auf ein Ereignis zuzugreifen, das denselben Namen wie eine andere Eigenschaft oder Methode des Objekts hat. Um auf das Ereignis zuzugreifen, müssen Sie das Objekt in die Ereignisschnittstelle umwandeln.
Office-PIA-Typen mit Ereignissen implementieren zwei Schnittstellen: eine Kernschnittstelle mit allen Eigenschaften und Methoden und eine Ereignisschnittstelle, die die vom Objekt verfügbar gemachten Ereignisse enthält. Diese Ereignisschnittstellen verwenden die Benennungskonvention _<objectname>Events<n>Event, zAppEvents_Event. B. und .ApplicationEvents2_Event Wenn Sie nicht auf ein Ereignis zugreifen können, das Sie für ein Objekt finden möchten, wandeln Sie das Objekt in die Ereignisschnittstelle um.
Application-Objekte verfügen beispielsweise über ein NewWorkbook-Ereignis und eine NewWorkbook-Eigenschaft. Um das NewWorkbook-Ereignis zu behandeln, wandeln Sie Application in die AppEvents_Event-Schnittstelle um. Im folgenden Codebeispiel wird dies für ein Projekt auf Dokumentebene für Excel veranschaulicht.
private void ThisWorkbook_Startup(object sender, System.EventArgs e)
{
((Excel.AppEvents_Event)this.Application).NewWorkbook +=
new Excel.AppEvents_NewWorkbookEventHandler(ThisWorkbook_NewWorkbook);
}
void ThisWorkbook_NewWorkbook(Excel.Workbook Wb)
{
// Perform some work here.
}
Weitere Informationen zu Ereignisschnittstellen in den Office-PIAs finden Sie unter Übersicht über Klassen und Schnittstellen in den primären Interopassemblys von Office.
Problem 2: Kann in Projekten, die auf .NET Framework 4 oder .NET Framework 4.5 abzielen, nicht auf Office PIA-Klassen verweisen
In Projekten, die auf .NET Framework 4 oder .NET Framework 4.5 abzielen, wird code, der auf eine klasse verweist, die in einer Office-PIA definiert ist, nicht standardmäßig kompiliert. Klassen in den PIAs verwenden die Namenskonventionsobjektname-Klasse<>, zDocumentClass. B. und .WorkbookClass Beispielsweise wird der folgende Code aus einem Word VSTO-Add-In-Projekt nicht kompiliert.
Word.DocumentClass document = (Word.DocumentClass) Globals.ThisAddIn.Application.ActiveDocument;
Dieser Code führt zu folgenden Kompilierungsfehlern:
- Visual Basic: "Verweis auf klasse 'DocumentClass' ist nicht zulässig, wenn die Assembly mithilfe des No-PIA-Modus verknüpft ist."
- Visual C#: "Interoperabilitätstyp 'Microsoft.Office.Interop.Word.DocumentClass' kann nicht eingebettet werden. Verwenden Sie stattdessen die entsprechende Schnittstelle."
Um diesen Fehler zu beheben, ändern Sie den Code, sodass er stattdessen auf die entsprechende Schnittstelle verweist. Verwenden Sie z. B. anstelle eines Verweises auf ein DocumentClass-Objekt einen Verweis auf eine Instanz der Document-Schnittstelle.
Projekte, die auf .NET Framework 4 oder .NET Framework 4.5 abzielen, betten automatisch alle Interoperabilitätstypen aus den Office-PIAs standardmäßig ein. Dieser Kompilierungsfehler tritt auf, weil das Feature für eingebettete Interoptypen nur für Schnittstellen funktioniert, aber nicht für Klassen. Weitere Informationen zu Schnittstellen und Klassen in den Office-PIAs finden Sie unter Übersicht über Klassen und Schnittstellen in den primären Interopassemblys von Office. Weitere Informationen zum Feature "Eingebettete Interoperabilitätstypen" in Office-Projekten finden Sie unter "Entwerfen und Erstellen von Office-Lösungen".
Problem 3: Verweise auf Office-Klassen werden nicht erkannt
Einige Klassennamen, z. B. Application, befinden sich in mehreren Namespaces, z Microsoft.Office.Interop.Word . B. und System.Windows.Forms. Aus diesem Grund enthält die Imports/using-Anweisung oben in den Projektvorlagen eine kurzhand qualifizierende Konstante, z. B.:
Diese Verwendung der Imports/using-Anweisung erfordert, dass Sie Verweise auf Office-Klassen mit dem Word- oder Excel-Qualifizierer unterscheiden, z. B.:
Wenn Sie beispielsweise eine nicht qualifizierte Deklaration verwenden, erhalten Sie Fehler:
Obwohl Sie den Word- oder Excel-Namespace importiert haben und Zugriff auf alle darin enthaltenen Klassen haben, müssen Sie alle Typen mit Word oder Excel vollständig qualifizieren, um die Mehrdeutigkeit des Namespaces zu entfernen.
Probleme beim Erstellen von Projekten
Beim Erstellen von Office-Projekten treten möglicherweise die folgenden Probleme auf.
Problem 1: Ein Projekt auf Dokumentebene kann nicht erstellt werden, das auf einem Dokument mit eingeschränkten Berechtigungen basiert.
Visual Studio kann keine Projekte auf Dokumentebene erstellen, wenn das Dokument eingeschränkte Berechtigungen besitzt. Wenn Ihr Projekt ein Dokument mit eingeschränkten Berechtigungen enthält, wird das Projekt nicht kompiliert, und Sie erhalten die folgende Meldung im Fenster "Fehlerliste ".
Fehler beim Hinzufügen der Anpassung.
Wenn Sie ein Dokument mit eingeschränkten Berechtigungen einschließen möchten, müssen Sie beim Entwickeln und Erstellen der Projektmappe ein nicht eingeschränktes Dokument verwenden. Wenden Sie dann die eingeschränkten Berechtigungen auf das Dokument am Veröffentlichungsort an, nachdem Sie die Projektmappe veröffentlicht haben.
Problem 2: Compilerfehler treten auf, nachdem ein NamedRange-Steuerelement gelöscht wurde.
Wenn Sie ein NamedRange Steuerelement aus einem Arbeitsblatt löschen, das nicht das aktive Arbeitsblatt im Designer ist, wird der automatisch generierte Code möglicherweise nicht aus Ihrem Projekt entfernt, und Compilerfehler können auftreten. Um sicherzustellen, dass der Code entfernt wird, müssen Sie vor dem Löschen des Steuerelements immer das Arbeitsblatt auswählen, das das NamedRange-Steuerelement enthält, um dieses als aktives Arbeitsblatt festzulegen. Wenn automatisch generierter Code beim Löschen des Steuerelements nicht gelöscht wird, können Sie den Designer dazu veranlassen, den Code zu löschen, indem Sie das Arbeitsblatt aktivieren und eine Änderung vornehmen, damit das Arbeitsblatt als geändert markiert wird. Beim Neuerstellen des Projekts wird der Code entfernt.
Probleme beim Debuggen von Projekten
Beim Debuggen von Office-Projekten treten möglicherweise die folgenden Probleme auf.
Problem 1: Aufforderung zur Deinstallation wird angezeigt, wenn Sie eine Lösung auf dem Entwicklungscomputer veröffentlichen und installieren.
Wenn Sie eine Office-Projektmappe debuggen, kann der folgende Fehler angezeigt werden.
Die Anpassung kann nicht installiert werden, da derzeit eine andere Version installiert ist und von diesem Speicherort nicht aktualisiert werden kann.
Dieser Fehler gibt an, dass Sie die Office-Lösung zuvor auf Ihrem Entwicklungscomputer veröffentlicht und installiert haben. Um zu verhindern, dass die Meldung angezeigt wird, deinstallieren Sie die Projektmappe über die Liste der auf dem Computer installierten Programme, bevor Sie die Projektmappe debuggen. Alternativ können Sie ein anderes Benutzerkonto auf dem Entwicklungscomputer erstellen, um die Installation der veröffentlichten Projektmappe zu testen.
Problem 2: Projekte auf Dokumentebene, die an UNC-Netzwerkspeicherorten erstellt wurden, werden von Visual Studio nicht ausgeführt
Wenn Sie ein Projekt auf Dokumentebene für Excel oder Word an einem UNC-Netzwerkspeicherort erstellen, müssen Sie den Speicherort des Dokuments der Liste vertrauenswürdiger Speicherorte in Word oder Excel hinzufügen. Andernfalls wird die Anpassung nicht geladen, wenn Sie versuchen, das Projekt in Visual Studio auszuführen oder zu debuggen. Weitere Informationen zu vertrauenswürdigen Speicherorten finden Sie unter Erteilen von Vertrauensstellungen für Dokumente.
Problem 3: Threads werden nach dem Debuggen nicht ordnungsgemäß beendet
Office-Projekte in Visual Studio folgen einer Threadnamenskonvention, die den Debugger in die Lage versetzt, das Programm ordnungsgemäß zu schließen. Wenn Sie in der Projektmappe Threads erstellen, versehen Sie den Namen jedes einzelnen Threads mit dem Präfix "VSTA_", um sicherzustellen, dass diese Threads ordnungsgemäß behandelt werden, wenn Sie das Debuggen beenden. Sie können beispielsweise die Name
Eigenschaft eines Threads festlegen, der auf die VSTA_NetworkListener eines Netzwerkereignisses wartet.
Problem 4: Kann keine Office-Lösung auf dem Entwicklungscomputer ausführen oder debuggen
Wenn Sie auf Ihrem Entwicklungscomputer kein Office-Projekt ausführen oder entwickeln können, wird möglicherweise die folgende Fehlermeldung angezeigt.
Die Anpassung konnte nicht geladen werden, da die Anwendungsdomäne nicht erstellt werden konnte.
Visual Studio speichert die Assemblys vor dem Laden von Office-Projektmappen mithilfe von Fusion, dem Assemblyladeprogramm von .NET Framework, zwischen. Stellen Sie sicher, dass Visual Studio in den Fusion-Cache schreiben kann, und versuchen Sie es erneut. Weitere Informationen finden Sie unter Schattenkopieassemblys.
Problem 5: Fehler beim Beenden des Debuggers in einem Projekt auf Dokumentebene nach der Verwendung von "Bearbeiten" und "Fortfahren"
Wenn Sie "Bearbeiten" und "Weiter" verwenden, um Änderungen am Code in einem Projekt auf Dokumentebene für Excel oder Word vorzunehmen, während sich das Projekt im Unterbrechungsmodus befindet, wird möglicherweise ein Dialogfeld mit der folgenden Fehlermeldung angezeigt, wenn Sie dann den Debugger beenden.
Das Beenden des Prozesses in seinem aktuellen Zustand kann zu unerwünschten Ergebnissen führen, einschließlich des Verlusts von Daten und Systeminstabilität.
Unabhängig davon, ob Sie im Dialogfeld "Ja" oder "Nein" auswählen, beendet Visual Studio den Excel- oder Word-Prozess und beendet den Debugger. Um das Debuggen des Projekts ohne Anzeige dieses Dialogfelds zu beenden, beenden Sie Excel oder Word direkt, anstatt den Debugger in Visual Studio zu beenden.