Programmieren mit Visual Basic und Visual C# in Office-Projektmappen

Sie können Office-Lösungen entweder mit Visual Basic oder Visual C# erstellen. Da die Microsoft Office-Objektmodelle zur Verwendung mit Microsoft Visual Basic for Applications (VBA) entwickelt wurden, können Visual Basic-Entwickler problemlos mit den von den Microsoft Office-Anwendungen verfügbar gemachten Objekten arbeiten. In Visual Studio 2010 können Visual C#-Entwickler größtenteils die gleichen Funktionen wie auch Visual Basic-Entwickler nutzen, doch in einigen Fällen müssen sie zusätzlichen Code verfassen, um die Office-Objektmodelle verwenden zu können. Es gibt auch einige Unterschiede zwischen den grundlegenden Programmierfunktionen für die Office-Entwicklung und in Visual Basic und C# geschriebenem verwalteten Code.

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

Wesentliche Unterschiede zwischen Visual Basic und Visual C#

In der folgenden Tabelle werden die wichtigsten Unterschiede zwischen Visual Basic und Visual C# bei der Office-Entwicklung angezeigt.

Feature

Beschreibung

Visual Basic-Unterstützung

Visual C#-Unterstützung

Optionale Parameter

Viele Microsoft Office-Methoden verfügen über Parameter, die nicht erforderlich sind, wenn Sie die Methode aufrufen. Wenn kein Wert für den Parameter übergeben wird, wird ein Standardwert verwendet.

Visual Basic unterstützt optionale Parameter.

Visual C# unterstützt in den meisten Fällen optionale Parameter. Weitere Informationen finden Sie unter Optionale Parameter in Office-Lösungen.

Übergeben von Parametern durch einen Verweis

Optionale Parameter können in den meisten der primären Interopassemblys von Microsoft Office als Wert übergeben werden. In manchen primären Interopassemblys müssen optionale Parameter, die Referenztypen akzeptieren, jedoch als Verweis übergeben werden.

Weitere Informationen über Wert- und Referenztypparameter finden Sie unter Übergeben von Argumenten als Wert und als Verweis (Visual Basic) (für Visual Basic) und Übergeben von Parametern (C#-Programmierhandbuch).

Es sind keine weiteren Aufgaben erforderlich, um Parameter als Verweis zu übergeben. Der Visual Basic-Compiler übergibt die Parameter automatisch durch einen Verweis, wenn dies erforderlich ist.

In den meisten Fällen übergibt der Visual C#-Compiler automatisch die Parameter durch einen Verweis, wenn dies erforderlich ist. Weitere Informationen finden Sie unter Optionale Parameter in Office-Lösungen.

Parametrisierte Eigenschaften

Einige Eigenschaften akzeptieren Parameter und fungieren als schreibgeschützte Funktionen.

Visual Basic unterstützt Eigenschaften, die Parameter akzeptieren.

Visual C# unterstützt Eigenschaften, die Parameter akzeptieren.

Spätes Binden

Bei der späten Bindung werden die Eigenschaften von Objekten zur Laufzeit bestimmt, statt Variablen zur Entwurfszeit in den Objekttyp umzuwandeln.

Visual Basic führt späte Bindungen aus, wenn Option Strict deaktiviert ist. Wenn Option Strict aktiviert ist, müssen Objekte explizit konvertiert und Typen im System.Reflection-Namespace verwendet werden, um auf spät gebundene Member zugreifen zu können. Weitere Informationen finden Sie unter Späte Bindung in Office-Lösungen.

Visual C# führt späte Bindungen in Projekten aus, für die als Zielversion .NET Framework 4 festgelegt wurde. In Projekten, für die als Zielversion .NET Framework 3.5 festgelegt wurde, müssen Sie Objekte und Verwendungstypen im System.Reflection-Namespace explizit umwandeln, um auf spät gebundene Member zuzugreifen. Weitere Informationen finden Sie unter Späte Bindung in Office-Lösungen.

Hauptunterschiede zwischen Office-Entwicklung und verwaltetem Code

In der folgenden Tabelle werden die wichtigsten Unterschiede zwischen der Office-Entwicklung und verwaltetem Code angezeigt, der mit Visual Basic und Visual C# geschrieben wurde.

Feature

Beschreibung

Visual Basic- und Visual C#-Unterstützung

Arrayindizes

Die unteren Arraygrenzen der Auflistungen in Microsoft Office-Anwendungen beginnen mit 1. Visual Basic und Visual C# verwenden 0-basierte Arrays. Weitere Informationen finden Sie unter Arrays (C#-Programmierhandbuch) und unter Arrays in Visual Basic.

Um auf das erste Element einer Auflistung im Objektmodell einer Microsoft Office-Anwendung zuzugreifen, verwenden Sie den Index 1 statt 0.

Siehe auch

Aufgaben

Verweisen auf Office-Anwendungen durch primäre Interopassemblys

Späte Bindung in Office-Lösungen

Referenz

Reflektion (C# und Visual Basic)

Konzepte

Schreiben von Code in Office-Projektmappen

Optionale Parameter in Office-Lösungen