Freigeben über


Optionale Parameter in Office-Lösungen

Viele der Methoden in den Objektmodellen von Microsoft Office-Anwendungen akzeptieren optionale Parameter. Wenn Sie Visual Basic zum Entwickeln einer Office-Lösung in Visual Studio verwenden, müssen Sie keinen Wert für optionale Parameter übergeben, da die Standardwerte automatisch für jeden fehlenden Parameter verwendet werden. In den meisten Fällen können Sie auch optionale Parameter in Visual C#-Projekten weglassen. Sie können jedoch keine optionalen Verweisparameter der ThisDocument Klasse in Word-Projekten auf Dokumentebene weglassen.

Gilt für: Die Informationen in diesem Thema gelten für Projekte auf Dokumentebene und VSTO-Add-In-Projekte. Siehe Verfügbare Features 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).

Hinweis

In früheren Versionen von Visual Studio müssen Sie einen Wert für jeden optionalen Parameter in Visual C#-Projekten übergeben. Aus Gründen der Einfachheit enthalten diese Projekte eine globale Variable mit dem Namen missing , 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 enthalten weiterhin die missing Variable, sie müssen jedoch in der Regel nicht verwendet werden, wenn Sie Office-Lösungen in Visual Studio 2013 entwickeln, außer wenn Sie Methoden mit optionalen Verweisparametern in der ThisDocument Klasse in Projekten auf Dokumentebene für Word aufrufen.

Beispiel in Excel

Die CheckSpelling Methode verfügt über viele optionale Parameter. Sie können Werte für einige Parameter angeben und den Standardwert anderer akzeptieren, wie im folgenden Codebeispiel gezeigt. Dieses Beispiel erfordert ein Projekt auf Dokumentebene mit einer Arbeitsblattklasse mit dem Namen Sheet1.


Globals.Sheet1.CheckSpelling(ignoreUppercase: true);

Beispiel in Word

Die Execute Methode verfügt über viele optionale Parameter. Sie können Werte für einige Parameter angeben und den Standardwert anderer akzeptieren, wie im folgenden Codebeispiel gezeigt.

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

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

Das Word-Objektmodell enthält viele Methoden mit optionalen Referenzparametern, die Object Werte akzeptieren. Sie können jedoch keine optionalen Verweisparameter von Methoden der generierten ThisDocument Klasse in Visual C#-Projekten auf Dokumentebene für Word weglassen. Mit Visual C# können Sie optionale Verweisparameter nur für Schnittstellenmethoden und nicht für Klassen weglassen. Das folgende Codebeispiel wird z. B. nicht kompiliert, da Sie optionale Verweisparameter der CheckSpelling Methode der ThisDocument Klasse nicht weglassen können.

Globals.ThisDocument.CheckSpelling(ignoreUppercase: true);

Wenn Sie Methoden der ThisDocument Klasse aufrufen, befolgen Sie die folgenden Richtlinien:

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

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

    Im folgenden Codebeispiel wird veranschaulicht, wie die CheckSpelling Methode aufgerufen wird, indem ein Wert für den parameter ignoreUppercase 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, der optionale ref-Parameter einer Methode in der ThisDocument-Klasse auslässt, können Sie alternativ dieselbe Methode für das Objekt aufrufen, das von der InnerObject-Eigenschaft über Document zurückgegeben wird, und die Parameter in dieser Methode weglassen. Sie können dies tun, weil Document eine Schnittstelle und keine Klasse ist.

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

    Weitere Informationen zu Wert- und Referenztypparametern finden Sie unter Übergeben von Argumenten nach Wert und nach Referenz (Visual Basic) (für Visual Basic) und Pass-Parameter (C#-Programmierhandbuch).