Como: usar argumentos nomeados e opcionais no Office Programming (guia de programação do C#)
Chamados argumentos e argumentos opcionais, introduzidos no Visual C# 2010, melhorar a legibilidade na programação de C#, flexibilidade e conveniência. Além disso, esses recursos bastante facilitam o acesso a interfaces COM, como a automação de Microsoft Office de APIs.
No exemplo a seguir, o método ConvertToTable possui dezesseis parâmetros que representam as características de uma tabela, como o número de colunas e linhas, formatação, bordas, fontes e cores.Todos os parâmetros de dezesseis são opcionais, como na maioria das vezes você não deseja especificar valores específicos para todos eles.No entanto, sem argumentos nomeados e opcionais, um valor ou um valor de espaço reservado deve ser fornecido para cada parâmetro.Com argumentos nomeados e opcionais, você pode especificar valores somente para os parâmetros que são necessários para o seu projeto.
Você deve ter Microsoft Office Word instalado em seu computador para concluir estes procedimentos.
Observação |
---|
Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações de Visual Studio. |
Para criar um novo aplicativo de console
Inicie o Visual Studio.
No menu File, aponte para New, e em seguida, clique em Project.
No Categorias de modelos de painel, expanda **Visual C#**e, em seguida, clique em Windows.
Procure na parte superior da modelos de o painel para certificar-se de que .NET Framework 4 consta o Estrutura de destino caixa.
No modelos de painel, clique em Aplicativo de Console.
Digite um nome para seu projeto no nome campo.
Clique em OK.
O novo projeto aparece na Solution Explorer.
Para adicionar uma referência
Em Solution Explorer, o nome do seu projeto com o botão direito e, em seguida, clique em Add Reference.O Add Reference caixa de diálogo aparece.
Sobre o .NET página, selecione Microsoft.Office.Interop.Word na Nome do componente lista.
Clique em OK.
Para adicionar necessário usando diretivas
Em Solution Explorer, com o botão direito do Program. cs de arquivo e clique em Exibir código.
Adicione o seguinte using diretivas para a parte superior do arquivo de código.
using Word = Microsoft.Office.Interop.Word;
Para exibir texto em um documento do Word
No Program da classe em Program. cs, adicione o seguinte método para criar um aplicativo do Word e um documento do Word.O Adicionar método tem quatro parâmetros opcionais.Este exemplo usa os valores padrão.Portanto, sem argumentos são necessários em instrução de chamada.
static void DisplayInWord() { var wordApp = new Word.Application(); wordApp.Visible = true; // docs is a collection of all the Document objects currently // open in Word. Word.Documents docs = wordApp.Documents; // Add a document to the collection and name it doc. Word.Document doc = docs.Add(); }
Adicione o seguinte código no final do método para definir onde exibir texto no documento e o texto a ser exibido.
// Define a range, a contiguous area in the document, by specifying // a starting and ending character position. Currently, the document // is empty. Word.Range range = doc.Range(0, 0); // Use the InsertAfter method to insert a string at the end of the // current range. range.InsertAfter("Testing, testing, testing. . .");
Para executar o aplicativo
Adicione a seguinte instrução principal.
DisplayInWord();
Pressione CTRL + F5 para executar o projeto.Um documento do Word é exibida que contém o texto especificado.
Para alterar o texto a uma tabela
Use o ConvertToTable método colocá-lo em uma tabela.O método tem dezesseis parâmetros opcionais.IntelliSense inclui parâmetros opcionais em colchetes, como mostrado na ilustração a seguir.
Parâmetros de ConvertToTable
Nomeado e argumentos opcionais permitem que você especifique valores para os parâmetros que você deseja alterar.Adicione o seguinte código para o final do método DisplayInWord para criar uma tabela simples.O argumento especifica que as vírgulas no texto da seqüência de caracteres na range separar as células da tabela.
// Convert to a simple table. The table will have a single row with // three columns. range.ConvertToTable(Separator: ",");
Em versões anteriores do C#, a chamada para ConvertToTable requer um argumento de referência para cada parâmetro, conforme mostrado no código a seguir.
// Call to ConvertToTable in Visual C# 2008 or earlier. This code // is not part of the solution. var missing = Type.Missing; object separator = ","; range.ConvertToTable(ref separator, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
Pressione CTRL + F5 para executar o projeto.
Para fazer experiências com outros parâmetros.
Para alterar a tabela para que ele tenha uma coluna e três linhas, substitua a última linha de DisplayInWord com a instrução a seguir e em seguida, digite CTRL + F5.
range.ConvertToTable(Separator: ",", AutoFit: true, NumColumns: 1);
Para especificar um formato predefinido para a tabela, substitua a última linha de DisplayInWord com a instrução a seguir e em seguida, digite CTRL + F5.O formato pode ser qualquer um do WdTableFormat constantes.
range.ConvertToTable(Separator: ",", AutoFit: true, NumColumns: 1, Format: Word.WdTableFormat.wdTableFormatElegant);
Exemplo
O código a seguir inclui o exemplo completo.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Word = Microsoft.Office.Interop.Word;
namespace OfficeHowTo
{
class WordProgram
{
static void Main(string[] args)
{
DisplayInWord();
}
static void DisplayInWord()
{
var wordApp = new Word.Application();
wordApp.Visible = true;
// docs is a collection of all the Document objects currently
// open in Word.
Word.Documents docs = wordApp.Documents;
// Add a document to the collection and name it doc.
Word.Document doc = docs.Add();
// Define a range, a contiguous area in the document, by specifying
// a starting and ending character position. Currently, the document
// is empty.
Word.Range range = doc.Range(0, 0);
// Use the InsertAfter method to insert a string at the end of the
// current range.
range.InsertAfter("Testing, testing, testing. . .");
// You can comment out any or all of the following statements to
// see the effect of each one in the Word document.
// Next, use the ConvertToTable method to put the text into a table.
// The method has 16 optional parameters. You only have to specify
// values for those you want to change.
// Convert to a simple table. The table will have a single row with
// three columns.
range.ConvertToTable(Separator: ",");
// Change to a single column with three rows..
range.ConvertToTable(Separator: ",", AutoFit: true, NumColumns: 1);
// Format the table.
range.ConvertToTable(Separator: ",", AutoFit: true, NumColumns: 1,
Format: Word.WdTableFormat.wdTableFormatElegant);
}
}
}