Volitelné parametry v řešeních Office

Mnoho metod v objektových modelech systém Microsoft Office aplikací přijímá volitelné parametry. Pokud k vývoji řešení Office v sadě Visual Studio používáte Visual Basic, nemusíte předávat hodnotu volitelných parametrů, protože výchozí hodnoty se automaticky použijí pro každý chybějící parametr. Ve většině případů můžete také vynechat volitelné parametry v projektech Visual C#. Nepovinné parametry ThisDocument odkazu třídy však nelze vynechat v projektech aplikace Word na úrovni dokumentu.

Platí pro: Informace v tomto tématu platí pro projekty na úrovni dokumentu a projekty doplňků VSTO. Viz Funkce dostupné podle typu aplikace Office lication a projektu.

Další informace o práci s volitelnými parametry v projektech Visual C# a Visual Basic najdete v tématu Pojmenované a volitelné argumenty (průvodce programováním v jazyce C#) a Volitelné parametry (Visual Basic).

Poznámka:

V dřívějších verzích sady Visual Studio musíte předat hodnotu pro každý volitelný parametr v projektech Visual C#. Pro usnadnění práce zahrnují tyto projekty globální proměnnou s názvem missing , kterou můžete předat volitelnému parametru, pokud chcete použít výchozí hodnotu parametru. Projekty Visual C# pro Office v sadě Visual Studio stále obsahují missing proměnnou, ale obvykle ji nemusíte používat při vývoji řešení Office v sadě Visual Studio 2013 s výjimkou volání metod s volitelnými parametry ref ve ThisDocument třídě v projektech na úrovni dokumentu pro Word.

Příklad v Excelu

Metoda CheckSpelling má mnoho volitelných parametrů. Můžete zadat hodnoty pro některé parametry a přijmout výchozí hodnotu jiných, jak je znázorněno v následujícím příkladu kódu. Tento příklad vyžaduje projekt na úrovni dokumentu s třídou listu s názvem Sheet1.


Globals.Sheet1.CheckSpelling(ignoreUppercase: true);

Příklad ve Wordu

Metoda Execute má mnoho volitelných parametrů. Můžete zadat hodnoty pro některé parametry a přijmout výchozí hodnotu jiných, jak je znázorněno v následujícím příkladu kódu.

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

Použití volitelných parametrů metod ve třídě ThisDocument v projektech na úrovni dokumentu visual C# pro Word

Objektový model Wordu obsahuje mnoho metod s volitelnými parametry ref , které přijímají Object hodnoty. Nelze však vynechat volitelné parametry ref metod vygenerované ThisDocument třídy v projektech na úrovni dokumentu visual C# pro Word. Visual C# umožňuje vynechat volitelné parametry odkazu pouze pro metody rozhraní, nikoli třídy. Například následující příklad kódu se nekompiluje, protože nelze vynechat volitelné parametry CheckSpelling ref metody ThisDocument třídy.

Globals.ThisDocument.CheckSpelling(ignoreUppercase: true);

Při volání metod ThisDocument třídy postupujte podle těchto pokynů:

  • Pokud chcete přijmout výchozí hodnotu volitelného parametru ref , předejte missing proměnnou parametru. Proměnná missing se automaticky definuje v projektech Visual C# Office a je přiřazena k hodnotě Missing vygenerovaném kódu projektu.

  • Chcete-li zadat vlastní hodnotu volitelného ref parametru, deklarujte objekt, který je přiřazen k hodnotě, kterou chcete zadat, a pak předejte objekt parametru.

    Následující příklad kódu ukazuje, jak volat metodu CheckSpelling zadáním hodnoty pro ignoreUppercase parametr a přijmout výchozí hodnotu pro ostatní parametry.

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

    Pokud chcete napsat kód, který vynechá volitelné ref parametry metody ve ThisDocument třídě, můžete alternativně volat stejnou metodu u Document objektu InnerObject vrácené vlastností a vynechat parametry z této metody. Můžete to udělat, protože Document je to rozhraní, nikoli třída.

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

    Další informace o parametrech hodnot a typu odkazu najdete v tématu Předání argumentů podle hodnoty a odkazu (Visual Basic) (pro Visual Basic) a předání parametrů (průvodce programováním v jazyce C#).