Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

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 optionale Parameter in Visual C#-Projekten auch weggelassen werden. Sie können jedoch keine optionalen ref-Parameter der ThisDocument-Klasse in Word-Projekten auf Dokumentebene weglassen.

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokumentebene und VSTO-Add-In-Projekte. Siehe Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

Weitere Informationen zur Verwendung von optionalen Parametern in Visual C#- und Visual Basic-Projekten finden Sie unter Benannte und optionale Argumente (C#-Programmierhandbuch) und Optional Parameters (Visual Basic).

System_CAPS_noteHinweis

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 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 2013 entwickeln, es sei denn, Sie rufen Methoden mit optionalen ref-Parametern in der ThisDocument-Klasse in Projekten auf Dokumentebene für Word auf.

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

Die M:Microsoft.Office.Interop.Word.Find.Execute(System.Object@,System.Object@,System.Object@,System.Object@,System.Object@,System.Object@,System.Object@,System.Object@,System.Object@,System.Object@,System.Object@,System.Object@,System.Object@,System.Object@,System.Object@)-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);            

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 ref-Variable an den Parameter, um den Standardwert eines optionalen missing-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 Microsoft.Office.Interop.Word.Document-Eigenschaft zurückgegebenen InnerObject-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 zu Wert- und Referenztypparametern finden Sie unter Passing Arguments by Value and by Reference (Visual Basic) (für Visual Basic) und Übergeben von Parametern (C#-Programmierhandbuch).

Anzeigen: