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, você não precisa 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 Visual C#. No entanto, você não pode omitir parâmetros ref opcionais da ThisDocument
classe em projetos do Word em nível de documento.
Aplica-se a: As informações neste tópico se aplicam a projetos de nível de documento e projetos de suplemento VSTO. Consulte Recursos disponíveis por aplicativo e tipo de projeto do Office.
Para obter mais informações sobre como trabalhar com parâmetros opcionais em projetos Visual C# e Visual Basic, consulte Argumentos nomeados e opcionais (guia de programação 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 Visual C#. Por 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. Projetos do Visual C# para Office no Visual Studio ainda incluem a missing
variável, mas você normalmente não precisa usá-la quando você desenvolve soluções do Office no Visual Studio 2013, exceto quando você chama métodos com parâmetros ref opcionais na classe em projetos de nível de documento para o ThisDocument
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 de nível de documento com uma classe de planilha chamada Sheet1
.
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);
Use parâmetros opcionais de métodos na classe ThisDocument em projetos de nível de documento do Visual C# para 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 de nível de documento do Visual C# para Word. Visual C# permite que você omita parâmetros ref opcionais somente para métodos de interfaces, não classes. Por exemplo, o exemplo de código a seguir não compila, porque 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. Amissing
variável é definida automaticamente em projetos do Visual C# Office e é atribuída ao valor Missing no código de 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 passe o objeto para o parâmetro.
O exemplo de código a seguir demonstra como chamar o método especificando um valor para o parâmetro ignoreUppercase e aceitando o CheckSpelling 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ê deseja escrever código que omite parâmetros ref opcionais de um método na
ThisDocument
classe, você pode alternativamente 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 valor e tipo de referência, consulte Passar argumentos por valor e por referência (Visual Basic) (para Visual Basic) e Passar parâmetros (guia de programação C#).