Freigeben über


Optionale Parameter in Office-Lösungen

Viele der Methoden in den Objektmodellen von Microsoft Office-Anwendungen akzeptieren optionale Parameter. Wenn Sie mithilfe von Visual Basic eine Office-Lösung in Visual Studio 2010 entwickeln, muss kein Wert für optionale Parameter übergeben werden, da die Standardwerte automatisch für jeden fehlenden Parameter verwendet werden. In den meisten Fällen können optionale Parameter in Visual C#-Projekten auch weggelassen werden. Optionale ref-Parameter der ThisDocument-Klasse in Word-Projekten auf Dokumentebene können jedoch nicht weggelassen werden.

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.

Weitere Informationen zum Arbeiten mit optionalen Parametern in Visual C# und Visual Basic-Projekten finden Sie unter Benannte und optionale Argumente (C#-Programmierhandbuch) und Optionale Parameter (Visual Basic).

Tipp

In früheren Versionen von Visual Studio müssen Sie einen Wert für jeden optionalen Parameter in Visual C#-Projekten übergeben. Zur Vereinfachung schließen diese Projekte eine globale Variable mit dem Namen missing ein, die Sie an einen optionalen Parameter übergeben können, wenn Sie den Standardwert des Parameters verwenden möchten. Visual C#-Projekte für Office in Visual Studio 2010 schließen nach wie vor die missing-Variable ein. Diese ist jedoch in der Regel nicht erforderlich, wenn Sie Office-Lösungen in Visual Studio 2010 entwickeln, außer, wenn Sie Methoden mit optionalen ref-Parametern in der ThisDocument-Klasse in Projekten auf Dokumentebene für Word aufrufen.

Beispiel in Excel

Die Worksheet.CheckSpelling-Methode verfügt über viele optionale Parameter. Sie können Werte für einige Parameter angeben und den Standardwert von anderen Parametern übernehmen (siehe folgendes Codebeispiel). Dieses Beispiel erfordert ein Projekt auf Dokumentebene mit einer Arbeitsblattklasse mit dem Namen Sheet1.

Globals.Sheet1.CheckSpelling(ignoreUppercase:=True)
// In projects that target the .NET Framework 3.5, change "ignoreUppercase" to "IgnoreUppercase" 
// in the following line of code.
Globals.Sheet1.CheckSpelling(ignoreUppercase: true);

Beispiel in Word

Die Find.Execute-Methode verfügt über viele optionale Parameter. Sie können Werte für einige Parameter angeben und den Standardwert von anderen Parametern übernehmen (siehe folgendes Codebeispiel).

With Me.Application.ActiveDocument.Content
    .Find.ClearFormatting()
    .Find.Execute(FindText:="blue", ReplaceWith:="red", Replace:=Word.WdReplace.wdReplaceAll)
End With
Word.Range documentRange = this.Application.ActiveDocument.Content;
documentRange.Find.ClearFormatting();
documentRange.Find.Execute(FindText: "blue", ReplaceWith: "red", Replace: Word.WdReplace.wdReplaceAll);            

Verwenden von optionalen Parametern von Methoden in der ThisDocument-Klasse in Visual C#-Projekten auf Dokumentebene für Word

Das Word-Objektmodell enthält zahlreiche Methoden mit optionalen ref-Parametern, die Object-Werte akzeptieren. Optionale ref-Parameter von Methoden der generierten ThisDocument-Klasse können in Visual C#-Projekten auf Dokumentebene für Word jedoch nicht weggelassen werden. Visual C# ermöglicht es Ihnen, optionale ref-Parameter nur für Methoden von Schnittstellen, jedoch nicht von Klassen, wegzulassen. Das folgende Codebeispiel kann z. B. nicht kompiliert werden, da Sie keine optionalen ref-Parameter der CheckSpelling-Methode der ThisDocument-Klasse weglassen können.

Globals.ThisDocument.CheckSpelling(ignoreUppercase: true);

Wenn Sie Methoden der ThisDocument-Klasse aufrufen, befolgen Sie diese Richtlinien:

  • Übergeben Sie die missing-Variable an den Parameter, um den Standardwert eines optionalen ref-Parameters zu akzeptieren. Die missing-Variable wird automatisch in Visual C# Office-Projekten definiert und dem Type.Missing-Wert im generierten Projektcode zugewiesen.

  • Um einen eigenen Wert für einen optionalen ref-Parameter anzugeben, deklarieren Sie ein Objekt, das dem Wert zugewiesen wird, den Sie angeben möchten, und übergeben Sie dann das Objekt an den Parameter.

Im folgenden Codebeispiel wird veranschaulicht, wie die CheckSpelling-Methode aufgerufen wird, indem ein Wert für den ignoreUppercase-Parameter angegeben und der Standardwert für die anderen Parameter akzeptiert wird.

object ignoreUppercase = true;
Globals.ThisDocument.CheckSpelling(
    ref missing, ref ignoreUppercase, ref missing, ref missing, ref missing, ref missing,
    ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);

Wenn Sie Code schreiben möchten, in dem optionale ref-Parameter einer Methode in der ThisDocument-Klasse weggelassen werden, können Sie die gleiche Methode alternativ auf dem von der InnerObject-Eigenschaft zurückgegebenen Microsoft.Office.Interop.Word.Document-Objekt aufrufen und die Parameter in dieser Methode weglassen. Dies ist möglich, da Microsoft.Office.Interop.Word.Document eine Schnittstelle und keine Klasse ist.

Globals.ThisDocument.InnerObject.CheckSpelling(IgnoreUppercase: true);

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

Siehe auch

Konzepte

Schreiben von Code in Office-Projektmappen

Weitere Ressourcen

Entwickeln von Office-Projektmappen