Parametry opcjonalne w rozwiązaniach pakietu Office

Wiele metod w modelach obiektów aplikacja pakietu Office lication firmy Microsoft akceptuje opcjonalne parametry. Jeśli używasz programu Visual Basic do tworzenia rozwiązania pakietu Office w programie Visual Studio, nie musisz przekazywać wartości parametrów opcjonalnych, ponieważ wartości domyślne są automatycznie używane dla każdego brakującego parametru. W większości przypadków można również pominąć parametry opcjonalne w projektach Visual C#. Nie można jednak pominąć opcjonalnych parametrów ThisDocument ref klasy w projektach programu Word na poziomie dokumentu.

Dotyczy: informacje w tym temacie dotyczą projektów na poziomie dokumentu i projektów dodatków VSTO. Zobacz Funkcje dostępne według aplikacja pakietu Office lication i typu projektu.

Aby uzyskać więcej informacji na temat pracy z parametrami opcjonalnymi w projektach Visual C# i Visual Basic, zobacz Nazwane i opcjonalne argumenty (Przewodnik programowania w języku C#) i Parametry opcjonalne (Visual Basic).

Uwaga

We wcześniejszych wersjach programu Visual Studio należy przekazać wartość dla każdego opcjonalnego parametru w projektach Visual C#. Dla wygody te projekty zawierają zmienną globalną o nazwie missing , którą można przekazać do opcjonalnego parametru, gdy chcesz użyć wartości domyślnej parametru. Projekty visual C# dla pakietu Office w programie Visual Studio nadal zawierają zmienną missing , ale zwykle nie trzeba ich używać podczas tworzenia rozwiązań pakietu Office w programie Visual Studio 2013, z wyjątkiem przypadków wywoływania metod z opcjonalnymi parametrami ref w klasie w ThisDocument projektach na poziomie dokumentu dla programu Word.

Przykład w programie Excel

Metoda CheckSpelling ma wiele parametrów opcjonalnych. Można określić wartości dla niektórych parametrów i zaakceptować wartość domyślną innych, jak pokazano w poniższym przykładzie kodu. W tym przykładzie wymagany jest projekt na poziomie dokumentu z klasą arkusza o nazwie Sheet1.


Globals.Sheet1.CheckSpelling(ignoreUppercase: true);

Przykład w programie Word

Metoda Execute ma wiele parametrów opcjonalnych. Można określić wartości dla niektórych parametrów i zaakceptować wartość domyślną innych, jak pokazano w poniższym przykładzie kodu.

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

Użyj opcjonalnych parametrów metod w klasie ThisDocument w projektach na poziomie dokumentu visual C# dla programu Word

Model obiektów programu Word zawiera wiele metod z opcjonalnymi parametrami ref , które akceptują Object wartości. Nie można jednak pominąć opcjonalnych parametrów ref metod wygenerowanej ThisDocument klasy w projektach na poziomie dokumentów języka Visual C# dla programu Word. Język Visual C# umożliwia pominięcie opcjonalnych parametrów ref tylko dla metod interfejsów, a nie klas. Na przykład poniższy przykład kodu nie jest kompilowany, ponieważ nie można pominąć opcjonalnych parametrów CheckSpelling ref metody ThisDocument klasy.

Globals.ThisDocument.CheckSpelling(ignoreUppercase: true);

Podczas wywoływania ThisDocument metod klasy postępuj zgodnie z następującymi wytycznymi:

  • Aby zaakceptować wartość domyślną opcjonalnego parametru ref , przekaż zmienną missing do parametru. Zmienna missing jest automatycznie definiowana w projektach pakietu Office w języku Visual C# i jest przypisywana do wartości Missing w wygenerowany kod projektu.

  • Aby określić własną wartość opcjonalnego parametru ref , zadeklaruj obiekt przypisany do wartości, którą chcesz określić, a następnie przekaż obiekt do parametru.

    Poniższy przykład kodu pokazuje, jak wywołać CheckSpelling metodę, określając wartość parametru ignoreUppercase i akceptując wartość domyślną dla innych parametrów.

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

    Jeśli chcesz napisać kod, który pomija opcjonalne parametry ref metody w ThisDocument klasie, możesz alternatywnie wywołać tę samą metodę dla Document obiektu zwróconego przez InnerObject właściwość i pominąć parametry z tej metody. Można to zrobić, ponieważ Document jest interfejsem, a nie klasą.

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

    Aby uzyskać więcej informacji na temat parametrów wartości i typu odwołania, zobacz Pass arguments by value and by reference (Visual Basic) (For Visual Basic) (Przekazywanie argumentów według wartości) i Pass parameters (Przewodnik programowania w języku C#).