Freigeben über


Übersicht über das Excel-Objektmodell

Bei der Entwicklung von Projektmappen für Microsoft Office Excel können Sie mit den Objekten des Excel-Objektmodells interagieren. In diesem Thema werden die wichtigsten Objekte vorgestellt:

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokument- und auf Anwendungsebene für Excel 2007 und Excel 2010. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

Das Objektmodell orientiert sich sehr stark an der Programmoberfläche. Das Application-Objekt stellt die gesamte Anwendung dar, und jedes Workbook-Objekt enthält eine Auflistung von Worksheet-Objekten. Davon ausgehend gibt es als bedeutende Abstraktion das Range-Objekt, das Zellen darstellt und für die Arbeit mit einzelnen Zellen oder Zellgruppen verwendet werden kann.

Zusätzlich zum Excel-Objektmodell stellen Office-Projekte in Visual Studio Hostelemente und Hoststeuerelemente bereit, die im Excel-Objektmodell einige Objekte erweitern. Hostelemente und Hoststeuerelemente verhalten sich wie die Excel-Objekte, dass sie erweitern, verfügen jedoch auch über zusätzliche Funktionen, z. B. Datenbindungsfunktionen und zusätzliche Ereignisse. Weitere Informationen finden Sie unter Automatisieren von Excel mithilfe von erweiterten Objekten und Übersicht über Hostelemente und Hoststeuerelemente.

Dieses Thema enthält eine kurze Übersicht über das Excel-Objektmodell. Informationen zu Ressourcen, in denen Sie mehr über das gesamte Excel-Objektmodell erfahren, finden Sie unter Verwenden der Dokumentation zum Excel-Objektmodell.

Link zu Video Eine entsprechende Videodemo finden Sie unter How Do I: Use Event Handlers in an Excel 2007 Add-in? und unter How Do I: Use Shapes to Create a Bubble Chart in Excel?.

Zugreifen auf Objekte in einem Excel-Projekt

Beim Erstellen eines neuen Projekts auf Anwendungsebene für Excel mit wird von Visual Studio automatisch eine Codedatei mit der Bezeichnung "ThisAddIn.vb" oder "ThisAddIn.cs" erstellt. Sie können mit Me.Application oder this.Application auf das Anwendungsobjekt zugreifen.

Wenn Sie ein neues Projekt auf Dokumentebene für Excel erstellen, haben Sie die Möglichkeit, eine neue Excel-Arbeitsmappe oder ein Excel-Vorlagenprojekt zu erstellen. Visual Studio erstellt die folgenden Codedateien im neuen Excel-Projekt sowohl für Arbeitsmappen- als auch für Vorlagenprojekte automatisch.

Visual Basic

C#

ThisWorkbook.vb

ThisWorkbook.cs

Sheet1.vb

Sheet1.cs

Sheet2.vb

Sheet2.cs

Sheet3.vb

Sheet3.cs

Mit der Globals-Klasse im Projekt können Sie auf ThisWorkbook, Sheet1, Sheet2 oder Sheet3 von außerhalb der jeweiligen Klasse zugreifen. Weitere Informationen finden Sie unter Globaler Zugriff auf Objekte in Office-Projekten. Im folgenden Beispiel wird die PrintPreview-Methode von Sheet1 aufgerufen, und zwar unabhängig davon, ob der Code in einer der Sheetn-Klassen oder in der ThisWorkbook-Klasse platziert wird.

Globals.Sheet1.PrintPreview()
Globals.Sheet1.PrintPreview(missing);

Da die Daten in einem Excel-Dokument in hohem Maße strukturiert sind, ist das Objektmodell hierarchisch und unkompliziert. Excel enthält zahlreiche Objekte, mit denen Sie interagieren können. Als Einstieg in das Objektmodell empfiehlt es sich jedoch, sich zunächst auf eine sehr kleine Teilmenge der verfügbaren Objekte zu konzentrieren. Dazu gehören die folgenden vier Objekte:

  • Anwendung

  • Arbeitsmappe

  • Arbeitsblatt

  • Bereich

Diese vier Objekte und ihre Member decken einen Großteil der Aufgaben ab, die mit Excel erledigt werden können.

Application-Objekt

Beim Application-Objekt von Excel handelt es sich um die eigentliche Excel-Anwendung. Das Application-Objekt stellt zahlreiche Informationen über die ausgeführte Anwendung, die auf diese Instanz angewendeten Optionen und die derzeit darin geöffneten Benutzerobjekte zur Verfügung.

Tipp

Sie sollten die EnableEvents-Eigenschaft des Application-Objekts in Excel nicht auf false festlegen. Wenn Sie diese Eigenschaft auf false festlegen, kann Excel keine Ereignisse auslösen, auch nicht die Ereignisse von Hoststeuerelementen.

Workbook-Objekt

Das Microsoft.Office.Interop.Excel.Workbook-Objekt stellt eine einzelne Arbeitsmappe innerhalb der Excel-Anwendung dar.

Die Office-Entwicklungstools in Visual Studio erweitern das Microsoft.Office.Interop.Excel.Workbook-Objekt, indem sie den Microsoft.Office.Tools.Excel.Workbook-Typ bereitstellen. Dieser Typ bietet Zugriff auf alle Funktionen eines Microsoft.Office.Interop.Excel.Workbook-Objekts sowie auf neue Funktionen, z. B. die Fähigkeit, einer Arbeitsmappe Smarttags hinzuzufügen. Weitere Informationen finden Sie unter Arbeitsmappenhostelement.

Tipp

Smarttags sind in Excel 2010 und Word 2010 veraltet. Weitere Informationen finden Sie unter Übersicht über Smarttags.

Worksheet-Objekt

Das Microsoft.Office.Interop.Excel.Worksheet-Objekt ist ein Member der Worksheets-Auflistung. Viele Eigenschaften, Methoden und Ereignisse von Microsoft.Office.Interop.Excel.Worksheet sind mit den Membern des Application-Objekts oder des Microsoft.Office.Interop.Excel.Workbook-Objekts identisch bzw. ähneln diesen.

Excel stellt eine Sheets-Auflistung als Eigenschaft eines Microsoft.Office.Interop.Excel.Workbook-Objekts bereit. Bei jedem Member der Sheets-Auflistung handelt es sich entweder um ein Microsoft.Office.Interop.Excel.Worksheet-Objekt oder ein Microsoft.Office.Interop.Excel.Chart-Objekt.

Die Office-Entwicklungstools in Visual Studio erweitern das Microsoft.Office.Interop.Excel.Worksheet-Objekt, indem sie den Microsoft.Office.Tools.Excel.Worksheet-Typ bereitstellen. Dieser Typ gibt Ihnen Zugriff auf alle Funktionen eines Microsoft.Office.Interop.Excel.Worksheet-Objekts sowie auf neue Funktionen, z. B. die Fähigkeit, verwaltete Steuerelemente zu hosten und neue Ereignisse zu behandeln. Weitere Informationen finden Sie unter Arbeitsblatthostelement.

Range-Objekt

Mit dem Microsoft.Office.Interop.Excel.Range-Objekt werden Sie in den Excel-Anwendungen am häufigsten arbeiten. Bevor Sie Änderungen an einer Region in Excel vornehmen können, müssen Sie diese als Range-Objekt ausdrücken und mit den Methoden und Eigenschaften dieses Bereichs arbeiten. Ein Range-Objekt stellt eine Zelle, Zeile, Spalte, eine Auswahl von Zellen, die mindestens einen Zellblock (zusammenhängend oder nicht) enthalten, oder sogar eine Gruppe von Zellen auf mehreren Arbeitsblättern dar.

Visual Studio erweitert das Microsoft.Office.Interop.Excel.Range-Objekt durch Bereitstellen des Microsoft.Office.Tools.Excel.NamedRange-Typs und des Microsoft.Office.Tools.Excel.XmlMappedRange-Typs. Diese Typen verfügen größtenteils über die gleichen Funktionen wie ein Microsoft.Office.Interop.Excel.Range-Objekt sowie über neue Funktionen, z. B. die Datenbindungsfunktion und neue Ereignisse. Weitere Informationen finden Sie unter NamedRange-Steuerelement und XmlMappedRange-Steuerelement.

Verwenden der Dokumentation zum Excel-Objektmodell

Ausführliche Informationen zum Excel-Objektmodell finden Sie in der Referenz für die primäre Interopassembly (PIA) für Excel und der VBA-Objektmodellreferenz.

Referenz für die primäre Interopassembly

In der Referenzdokumentation für die Excel-PIA werden die Typen in der primären Interopassembly für Excel beschrieben. Diese Dokumentation ist unter Referenz für die primäre Interopassembly für Excel 2010 (möglicherweise in englischer Sprache) verfügbar.

Tipp

Die Excel 2007-PIA ist derzeit nicht dokumentiert. Die Typen in der Excel 2007-PIA sind jedoch auch in der Excel 2010-PIA enthalten. Daher gelten die Informationen in dieser Referenzdokumentation auch für Excel 2007.

Weitere Informationen zum Entwurf der Excel-PIA, z. B. zu Unterschieden zwischen Klassen und Schnittstellen in der PIA und zur Implementierung von Ereignissen in der PIA, finden Sie in der Übersicht über Klassen und Schnittstellen in den primären Interopassemblys für Office (möglicherweise in englischer Sprache).

VBA-Objektmodellreferenz

Die VBA-Objektmodellreferenz dokumentiert das Excel-Objektmodell, das für VBA (Visual Basic for Applications) verfügbar gemacht wird. Die VBA-Objektmodellreferenz für Excel ist unter den folgenden Links verfügbar:

Alle Objekte und Member in der VBA-Objektmodellreferenz entsprechen Typen und Membern in der Excel-PIA. Das Worksheet-Objekt in der VBA-Objektmodellreferenz entspricht z. B. dem Microsoft.Office.Interop.Excel.Worksheet-Objekt in der Excel-PIA. Obwohl die VBA-Objektmodellreferenz Codebeispiele für die meisten Eigenschaften, Methoden und Ereignisse enthält, müssen Sie den VBA-Code in dieser Referenz in Visual Basic oder Visual C# übersetzen, wenn Sie ihn in einem mit Visual Studio erstellten Excel-Projekt verwenden möchten.

Verwandte Themen

Titel

Beschreibung

Gewusst wie: Erstellen eines BDC-Modells

Hier wird erläutert, wie Sie Anpassungen auf Dokumentebene und Add-Ins auf Anwendungsebene für Microsoft Office Excel erstellen können.

Gewusst wie: Hinzufügen einer vorhandenen BDC-Modelldatei zu einem SharePoint-Projekt

Hier finden Sie Beispiele, die die Ausführung häufiger Aufgaben im Zusammenhang mit Zellen veranschaulichen.

Gewusst wie: Angeben von lokalisierten Namen, Eigenschaften und Berechtigungen mithilfe einer Ressourcendatei

Hier finden Sie Beispiele, die die Ausführung häufiger Aufgaben im Zusammenhang mit Bereichen veranschaulichen.

Gewusst wie: Einfügen einer benutzerdefinierten Assembly in eine BDC-Funktion

Hier finden Sie Beispiele, die die Ausführung häufiger Aufgaben im Zusammenhang mit Arbeitsblättern veranschaulichen.

Arbeiten mit Arbeitsmappen

Hier finden Sie Beispiele, die die Ausführung häufiger Aufgaben im Zusammenhang mit Arbeitsmappen veranschaulichen.

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

Mai 2010

Die Informationen zur Objektmodell-Referenzdokumentation wurden aktualisiert.

Informationsergänzung.