Escrevendo código em soluções do Office
Há alguns aspectos de escrever código em projetos do Office que são diferentes de outros tipos de projetos no Visual Studio.Muitas dessas diferenças são relacionadas à forma como os modelos de objeto do Office são expostos no código gerenciado.Outras diferenças são identificadas o design de projetos do Office.
Aplicáve a: As informações neste tópico se aplicam a projetos em nível de aplicativo e em nível de documento para o Office 2013 e o Office 2010. Consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.
Código gerenciado e programação do Office
A tecnologia principal que se criando uma solução integrada Microsoft Office possível é a automação, que é parte da tecnologia do Component Object Model (COM).A automação permite que você use o código objetos para criar e software de controle expostos por qualquer aplicativo, DLL, ou controle ActiveX que suporta as interfaces apropriadas programação.
Assemblies de Interoperabilidade primários compreensivos
Os aplicativos do Microsoft Office expõe grande parte de sua funcionalidade à automação.No entanto, você não pode usar código gerenciado (como Visual Basic ou C#) diretamente para automatizar aplicativos do Office.Para automatizar aplicativos do Office usando código gerenciado, você deve usar assemblies de interoperabilidade primários (PIAs) do Office.Assemblies de interoperabilidade primários permitem ao código gerenciado para interagir com o modelo de objeto COM base em aplicativos do Office.
Cada aplicativo do Microsoft Office tem um PIA.Quando você cria um projeto do Office no Visual Studio, uma referência ao PIA apropriado é automaticamente adicionada ao projeto.Para automatizar os recursos de outros aplicativos do Office do projeto, você deve adicionar uma referência a PIA apropriado manualmente.Para obter mais informações, consulte Como: aplicativos do Office de destino por meio de Assemblies de interoperabilidade primários.
Usando assemblies de Interoperabilidade primários em tempo de design e o tempo de execução
Você deve ter os PIAs do Office instalados e registrados no cache global de assemblies no seu computador de desenvolvimento para executar a maioria das tarefas de desenvolvimento.Para obter mais informações, consulte Configurando um computador para desenvolver soluções do Office.
Os PIAs do Office não são necessários em computadores de usuário final execute as soluções do Office que direcionam .NET Framework 4 ou .NET Framework 4.5.Para obter mais informações, consulte Projetando e criando soluções do Office.
Usar tipos nos assemblies de Interoperabilidade primários
Os PIAs do Office contêm uma combinação de tipos que expõe o modelo de objeto de aplicativos do Office e tipos adicionais de infraestrutura que não se destinam ser usados diretamente no seu código.Para uma visão geral dos tipos em PIAs do Office, consulte Overview of Classes and Interfaces in the Office Primary Interop Assembliesinteroperabilidade primários.
Porque os tipos em PIAs do Office correspondem nos modelos de objeto baseados em COM, a maneira que usa esses tipos geralmente é diferente de outros tipos gerenciados.Por exemplo, a maneira como você chama os métodos que têm parâmetros opcionais no Office que o assembly de interoperabilidade primária depende da linguagem de programação você está usando em seu projeto.Para obter mais informações, consulte os seguintes tópicos:
Modelo de programação de projetos do Office
Todos os projetos do Office incluem uma ou mais classes gerados que fornecem o ponto de entrada para seu código.Essas classes também fornecem acesso para o modelo de objeto do aplicativo host e acessá-lo a recursos como os painéis de ações e os painéis de tarefa personalizada.
Entendendo as classes geradas
Em um documento nível projetos para o excel e Palavras, a classe gerada é semelhante a um objeto de nível superior no modelo de objeto do aplicativo.Por exemplo, a classe gerada de ThisDocument em um projeto do documento do Word fornece os mesmos membros que a classe de Microsoft.Office.Interop.Word.Document no modelo de objeto do Word.Para obter mais informações sobre as classes gerados em projetos de um documento nível, consulte Programação personalizações em nível de documento.
Os projetos em nível fornecem uma classe gerada chamada ThisAddIn.Esta classe não lembra uma classe no modelo de objeto do aplicativo host.Em vez disso, esta classe representa o suplemento própria, e fornece membros que você pode usar para acessar o modelo de objeto do aplicativo host e para acessar outros recursos disponíveis no suplementos.Para obter mais informações, consulte Os suplementos de nível de aplicativo de programação..
Todas as classes gerados em projetos do Office incluem Startup e manipuladores de eventos Shutdown .Para obter o código iniciado gravação, você normalmente adiciona o código para esses manipuladores de eventos.Para inicializar o suplemento, você pode adicionar código ao manipulador de eventos Startup .Para limpar os recursos usados pelo suplemento, você pode adicionar código ao manipulador de eventos Shutdown .Para obter mais informações, consulte Eventos em projetos do Office.
Acessando as classes geradas em tempo de execução
Quando uma solução do Office é carregada, Visual Studio Tools for Office Runtime cria uma instância cada uma das classes gerados em seu projeto.Você pode acessar esses objetos de todo o código no seu projeto usando a classe de Globals .Por exemplo, você pode usar a classe de Globals para chamar o código na classe de ThisAddIn de um manipulador de eventos de um botão de fita em um suplemento ao aplicativo.
Para obter mais informações, consulte Acesso global a objetos em projetos do Office.
Considerações do namespace em soluções do Office
Você não pode alterar o namespace padrão (ou para enraizar o namespace no Visual Basic) de um projeto do Office depois de criar o projeto.O namespace padrão corresponderá sempre o nome de projeto que você especificou quando você criou o projeto.Se você renomear o seu projeto, o namespace padrão não muda.Para obter mais informações sobre ao namespace padrão em projetos, consulte Página de aplicativo, Designer de projeto (C#) e Página de aplicativo, Designer de projeto (Visual Basic).
Alterando o namespace de classes de item de host em projetos C#
As classes de item de host (por exemplo, ThisAddIn, ThisWorkbook, ou classes de ThisDocument ) tem suas próprias namespaces em projetos Visual c# Office.Por padrão, o namespace para itens de host em seu projeto corresponde ao nome de projeto que você especificou quando você criou o projeto.
Para alterar o namespace de itens host em um projeto Visual c# Office, use a propriedade de Namespace para Item de Host .Para obter mais informações, consulte Propriedades em projetos do Office.
Linguagens de programação suporte em projetos do Office
Os modelos de projeto do Office no Visual Studio suportam as linguagens de programação somente do Visual Basic e Visual c#.Portanto, esses modelos de projeto estão disponíveis somente nos nós de Visual Basic e Visual C# da caixa de diálogo Novo Projeto em Visual Studio.Para obter mais informações, consulte Como: criar projetos do Office em Visual Studio.
Escolha de linguagem e programação do Office
Microsoft Office e Visual Basic para aplicativos (VBA) foram desenvolvidos para trabalhar juntos para otimizar o fluxo de trabalho de personalização do aplicativo.Visual Basic herda alguns dos desenvolvimentos.Por exemplo, Visual Basic suporta parâmetros opcionais, o que significa que você pode escrever menos código ao chamar alguns métodos em assemblies de interoperabilidade primários do Microsoft Office de que quando você usa o Visual c#.
Programação com Visual Basic CONTRA. Visual c# em soluções do Office
Você pode criar soluções do Office usando Visual Basic ou Visual c#.Como os modelos de objeto do Microsoft Office foram criados para serem usados com o Microsoft Visual Basic para aplicativos (VBA), os desenvolvedores do Visual Basic podem trabalhar confortavelmente com objetos expostas pelos aplicativos do Microsoft Office.Em Visual Studio 2012, os desenvolvedores do Visual basic podem usar a maioria dos mesmos recursos que desenvolvedores do Visual Basic, mas há alguns casos onde deve escrever código adicional para usar os modelos de objeto do Office.Também há algumas diferenças entre recursos de programação básica desenvolvimento do Office e código gerenciado escrito em Visual Basic e C#.
Principais diferenças entre o Visual Basic e Visual c#
A tabela a seguir mostra principais diferenças entre o Visual Basic e Visual c# desenvolvimento do Office.
Recurso |
Descrição |
Suporte do Visual Basic |
Suporte do Visual c# |
---|---|---|---|
Parâmetros opcionais |
Muitos métodos do Microsoft Office têm parâmetros que não são necessários quando você chama o método.Se nenhum valor é passado para o parâmetro, um valor padrão é usado. |
Visual Basic suporta parâmetros opcionais. |
Visual c# suporta parâmetros opcionais na maioria dos casos.Para obter mais informações, consulte Parâmetros opcionais em soluções do Office. |
Passando parâmetros por referência |
Parâmetros opcionais na maioria dos assemblies de interoperabilidade primários do Microsoft Office podem ser passados por valor.No entanto, em alguns assemblies de interoperabilidade primários, os parâmetros opcionais que aceitam tipos de referência devem ser passados por referência. Para obter mais informações sobre parâmetros de tipo de valor e de referência, consulte Passando argumentos por valor e por referência (Visual Basic) (Visual Basic) e Passando parâmetros (guia de programação do C#). |
Qualquer trabalho adicional é necessário para passar parâmetros por referência.O compilador do Visual Basic passa parâmetros automaticamente pela referência quando necessário. |
Na maioria dos casos, o compilador Visual basic passa parâmetros automaticamente pela referência quando necessário.Para obter mais informações, consulte Parâmetros opcionais em soluções do Office. |
Propriedades parametrizadas |
Algumas propriedades aceitam parâmetros, e atuam como funções somente leitura. |
Visual Basic suporta propriedades que aceite parâmetros. |
Visual c# suporta propriedades que aceite parâmetros. |
Associação tardia |
A associação tardia envolve determinar as propriedades dos objetos em tempo de execução, em vez de variáveis de conversão para o tipo de objeto em tempo de design. |
Visual Basic executa associação tardia quando Option Strictestá.Quando Option Strict é on, você deve explicitamente converter objetos e para usar tipos no namespace System.Reflection para acessar membros de associação tardia.Para obter mais informações, consulte Ligação tardia em soluções do Office. |
Visual c# executa associação tardia nos projetos que destinam-se .NET Framework 4.Para obter mais informações, consulte Ligação tardia em soluções do Office. |
Diferenças entre o desenvolvimento do Office e o código gerenciado
A tabela a seguir mostra principais diferenças entre o desenvolvimento do Office e o código gerenciado escritos em Visual Basic ou Visual c#.
Recurso |
Descrição |
Suporte do Visual Basic e Visual c# |
---|---|---|
Índices de matriz |
O limite de matriz mais baixo das coleções em aplicativos do Microsoft Office começa com 1.Visual Basic e Visual c# usam matrizes com base 0.Para obter mais informações, consulte Matrizes (guia de programação do C#) e Matrizes em Visual Basic. |
Para acessar o primeiro item de uma coleção no modelo de objeto de um aplicativo do Microsoft Office, use o índice 1 em vez de 0. |
Consulte também
Tarefas
Como: aplicativos do Office de destino por meio de Assemblies de interoperabilidade primários
Como: criar manipuladores de eventos em projetos do Office
Conceitos
Parâmetros opcionais em soluções do Office
Acesso global a objetos em projetos do Office