Compartilhar via


Parâmetros opcionais em soluções do Office

Muitos dos métodos nos modelos de objeto de aplicativos do Microsoft Office aceitam parâmetros opcionais. Se você usar o Visual Basic para desenvolver uma solução do Office no Visual Studio, não precisará passar um valor para parâmetros opcionais porque os valores padrão são usados automaticamente para cada parâmetro ausente. Na maioria dos casos, você também pode omitir parâmetros opcionais em projetos do Visual C#. No entanto, você não pode omitir parâmetros ref opcionais da ThisDocument classe em projetos do Word no nível do documento.

Aplica-se a: As informações neste tópico se aplicam a projetos no nível do documento e projetos de suplemento VSTO. Consulte os recursos disponíveis pelo aplicativo do Office e pelo tipo de projeto.

Para obter mais informações sobre como trabalhar com parâmetros opcionais em projetos do Visual C# e do Visual Basic, consulte Argumentos nomeados e opcionais (guia de programação em C#) e parâmetros opcionais (Visual Basic).

Observação

Em versões anteriores do Visual Studio, você deve passar um valor para cada parâmetro opcional em projetos do Visual C#. Para conveniência, esses projetos incluem uma variável global chamada missing que você pode passar para um parâmetro opcional quando quiser usar o valor padrão do parâmetro. Os projetos do Visual C# para o Office no Visual Studio ainda incluem a missing variável, mas normalmente você não precisa usá-la ao desenvolver soluções do Office no Visual Studio 2013, exceto quando você chama métodos com parâmetros ref opcionais na ThisDocument classe em projetos de nível de documento para o Word.

Exemplo no Excel

O CheckSpelling método tem muitos parâmetros opcionais. Você pode especificar valores para alguns parâmetros e aceitar o valor padrão de outros, conforme mostrado no exemplo de código a seguir. Este exemplo requer um projeto no nível do documento com uma classe de planilha chamada Sheet1.


Globals.Sheet1.CheckSpelling(ignoreUppercase: true);

Exemplo no Word

O Execute método tem muitos parâmetros opcionais. Você pode especificar valores para alguns parâmetros e aceitar o valor padrão de outros, conforme mostrado no exemplo de código a seguir.

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

Usar parâmetros opcionais de métodos na classe ThisDocument em projetos no nível de documento do Visual C# para o Word

O modelo de objeto do Word contém muitos métodos com parâmetros ref opcionais que aceitam Object valores. No entanto, você não pode omitir parâmetros ref opcionais de métodos da classe gerada ThisDocument em projetos no nível de documento do Visual C# para o Word. O Visual C# permite omitir parâmetros ref opcionais apenas para métodos de interfaces, não classes. Por exemplo, o exemplo de código a seguir não é compilado, pois você não pode omitir parâmetros ref opcionais do CheckSpelling método da ThisDocument classe.

Globals.ThisDocument.CheckSpelling(ignoreUppercase: true);

Ao chamar métodos da ThisDocument classe, siga estas diretrizes:

  • Para aceitar o valor padrão de um parâmetro ref opcional, passe a missing variável para o parâmetro. A missing variável é definida automaticamente em projetos do Office do Visual C# e é atribuída ao valor Missing no código do projeto gerado.

  • Para especificar seu próprio valor para um parâmetro ref opcional, declare um objeto atribuído ao valor que você deseja especificar e, em seguida, passe o objeto para o parâmetro.

    O exemplo de código a seguir demonstra como chamar o CheckSpelling método especificando um valor para o parâmetro ignoreUppercase e aceitando o valor padrão para os outros parâmetros.

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

    Se você quiser escrever um código que omita parâmetros ref opcionais de um método na ThisDocument classe, você pode, como alternativa, chamar o mesmo método no Document objeto retornado pela InnerObject propriedade e omitir os parâmetros desse método. Você pode fazer isso porque Document é uma interface, em vez de uma classe.

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

    Para obter mais informações sobre parâmetros de tipo de valor e referência, consulte Passar argumentos por valor e por referência (para Visual Basic) e Passar parâmetros (guia de programação C#).