Optionale Parametern in Office-Projektmappen
Aktualisiert: November 2007
Viele der Methoden in den Objektmodellen von Microsoft Office-Anwendungen akzeptieren optionale Parameter. Optionale Parameter sind nur dann optional, wenn Sie eine Methode mit Visual Basic aufrufen. Wenn Sie C# zum Programmieren mit einer Microsoft Office-Anwendung verwenden, müssen Sie einen Wert für alle Parameter übergeben.
Unterschiede bei optionalen Parametern in Visual Basic und Visual C#
Wenn Sie Visual Basic zum Programmieren mit einer Microsoft Office-Anwendung verwenden, ist es nicht erforderlich, einen Wert für optionale Parameter zu übergeben, da für fehlende Parameter automatisch die Standardwerte verwendet werden. Allerdings werden optionale Parameter in C# nicht unterstützt, sodass Sie der Methode für jeden Parameter einen Wert übergeben müssen.
Visual Studio Tools for Office-Projekte enthalten die globale Variable missing, die dem Wert Type.Missing im generierten Code zugeordnet wird. Sie können diese globale Variable übergeben, um den Standardwert der einzelnen optionalen Parameter zu übernehmen, die einen Referenztyp akzeptieren, z. B. Object. Bei optionalen Parametern, die einen Werttyp akzeptieren, müssen Sie den tatsächlichen Standardwert übergeben. Weitere Informationen finden Sie unter Übergeben von Werttypen an optionale Parameter in Visual C#.
Beispiel in Excel
Die Worksheet.CheckSpelling-Methode verwendet die folgenden optionalen Parameter, die Referenztypen akzeptieren:
CustomDictionary. Gibt an, ob ein benutzerdefiniertes Wörterbuch verwendet werden soll, wenn das Wort im Hauptwörterbuch nicht zu finden ist.
IgnoreUppercase. Gibt an, ob Großbuchstaben ignoriert werden sollen.
AlwaysSuggest. Gibt an, ob eine Liste mit alternativen Rechtschreibvorschlägen in Excel angezeigt werden soll, wenn eine falsche Schreibweise gefunden wird.
SpellLang. Gibt die Sprache des verwendeten Wörterbuchs an.
Sie können den Standardwert dieser Parameter übernehmen, wie im folgenden Codebeispiel gezeigt.
Globals.Sheet1.CheckSpelling()
Globals.Sheet1.CheckSpelling(missing, missing, missing, missing);
Beispiel in Word
Das Aufrufen von Microsoft Office Word-Methoden aus C# ist im Allgemeinen komplexer als das Aufrufen von Methoden für andere Office-Anwendungen, da alle optionalen Parameter als Verweis übergeben werden müssen.
In der Document.CheckSpelling-Methode werden beispielsweise folgende optionale Parameter für die Rechtschreibprüfung von Word-Dokumenten verwendet:
CustomDictionary. Der Dateiname des benutzerdefinierten Wörterbuchs.
IgnoreUppercase. Gibt an, ob Großbuchstaben ignoriert werden sollen.
AlwaysSuggest. Gibt an, ob eine Liste mit alternativen Rechtschreibvorschlägen in Word angezeigt werden soll, wenn eine falsche Schreibweise gefunden wird.
CustomDictionary2 – CustomDictionary10. Die Dateinamen zusätzlicher benutzerdefinierter Wörterbücher. Sie können bis zu neun zusätzliche Wörterbücher angeben.
Sie können den Standardwert dieser Parameter übernehmen, wie im folgenden Codebeispiel gezeigt.
Me.CheckSpelling()
this.CheckSpelling(
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
Übergeben von Werttypen an optionale Parameter in Visual C#
In Visual C# kann nur die globale missing-Variable für optionale Parameter übergeben werden, die Referenztypen akzeptieren. Für optionale Parameter, die Werttypen akzeptieren, muss der tatsächliche Standardwert ermittelt und auch übergeben werden.
Beispielsweise verwendet die Sort-Methode der NamedRange-Klasse eine große Anzahl von Enumerationswerten als Parameter, z. B. Microsoft.Office.Interop.Excel.XlSortOrder. Da es sich dabei um einen Werttyp handelt, muss einer der XlSortOrder-Werte angegeben werden, anstatt die globale missing-Variable zu übergeben.
Weitere Informationen über Wert- und Referenztypparameter finden Sie unter Übergeben von Argumenten als Wert und als Verweis (für Visual Basic) und Übergeben von Parametern (C#-Programmierhandbuch).
Siehe auch
Konzepte
Entwickeln von Office-Projektmappen
Verwalteter Code und Programmieren für Office mit Visual Studio