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 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 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 features available by Office-App lication and project type.

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. 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 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 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);

Beispiel in Word

Die 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).

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 Verweisparametern , die Werte akzeptieren Object . 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 diese 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 Missing-Wert 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 Verweisparameter einer Methode in der ThisDocument Klasse ausgelassen, können Sie alternativ dieselbe Methode für das Document von der InnerObject Eigenschaft zurückgegebene Objekt aufrufen und die Parameter aus dieser Methode weglassen. Dies ist möglich, da 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).