Escrevendo código em soluções do Office

Há alguns aspectos de escrever código em projetos do Office são diferentes dos outros tipos de projetos em Visual Studio. Muitas dessas diferenças estão relacionadas à maneira como os modelos de objeto do Office estão expostos a código gerenciado. Outras diferenças estão relacionadas ao design de projetos do Office.

Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento e projetos de nível de aplicativo para Microsoft Office 2010 e o sistema 2007 do Microsoft Office. Para obter mais informações, 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 torna possível a criação de uma solução integrada de Microsoft Office é a automação, que é parte da tecnologia de modelo de objeto componente (COM). A automação permite que você use o código para criar e controlar os objetos de software expostos por qualquer aplicativo, DLL, ou ActiveX de controle que suporta as interfaces de programação apropriadas.

Noções básicas sobre Assemblies de interoperabilidade primários

Aplicativos de Microsoft Office exponham grande parte de sua funcionalidade para automação. No entanto, é possível usar o código gerenciado (como, por exemplo, Visual Basic ou C#) diretamente para automatizar aplicativos do Office. Para automatizar aplicativos do Office usando código gerenciado, você deve usar a assemblies de interoperabilidade primários (PIAs) do Office. Assemblies de interoperabilidade primários permitem código gerenciado interagir com o modelo de objeto baseado em COM aplicativos do Office.

Cada aplicativo de Microsoft Office tem um PIA. Quando você cria um projeto do Office em Visual Studio, uma referência para o PIA apropriado é automaticamente adicionada ao projeto. Para automatizar os recursos de outros aplicativos do Office do projeto, você deve adicionar manualmente uma referência para o PIA apropriado. For more information, see Como: Aplicativos do Office de destino por meio de Assemblies de interoperabilidade primários.

Usando os Assemblies de interoperabilidade primários no tempo de Design e tempo de execução

Você deve ter os PIAs do Office instalado e registrado no global assembly cache no computador de desenvolvimento para executar a maioria das tarefas de desenvolvimento. For more information, see Configurando um computador para desenvolver soluções do Office.

Os PIAs também devem ser instalados em computadores de usuários finais para executar o Office solutions destinados a.NET Framework 3.5. No entanto, os PIAs do Office não são necessárias em computadores de usuários finais para executar o Office solutions destinados a .NET Framework 4. For more information, see Projetando e criando soluções do Office.

O uso de tipos em Assemblies de interoperabilidade primários

Os PIAs do Office contém uma combinação de tipos que expõem o modelo de objeto dos aplicativos do Office e infra-estrutura adicional que não se destina a ser usado diretamente em seu código. Para uma visão geral dos tipos de PIAs do Office, consulte Overview of Classes and Interfaces in the Office Primary Interop Assemblies.

Como os tipos de PIAs do Office correspondem aos tipos de modelos de objeto baseado em COM, a maneira como você usa esses tipos freqüentemente é diferente de outros tipos gerenciados. Por exemplo, a maneira que você chamar os métodos que possuem parâmetros opcionais em um assembly de interoperabilidade primária do Office depende da linguagem de programação que você está usando no seu projeto. For more information, see the following topics:

Modelo de programação de projetos do Office

Todos os projetos do Office incluem uma ou mais classes geradas fornecem o ponto de entrada para o seu código. Essas classes também fornecem acesso ao modelo de objeto do aplicativo host e acesso a recursos como painéis de ações e painéis de tarefas personalizado.

Noções básicas sobre as Classes geradas

Em projetos de nível de documento para o Excel e Word, a classe gerada é semelhante a um objeto de nível superior no modelo de objeto do aplicativo. Por exemplo, o gerado ThisDocument classe em um projeto de documento do Word fornece os mesmos membros como o Microsoft.Office.Interop.Word.Document classe no modelo de objeto do Word. Para obter mais informações sobre as classes geradas em projetos de nível de documento, consulte Programação personalizações em nível de documento.

Os projetos de nível de aplicativo oferecem uma classe gerada chamada ThisAddIn. Esta classe não se parecem com uma classe no modelo de objeto do aplicativo host. Em vez disso, essa classe representa o próprio suplemento e fornece os membros que você pode usar para acessar o modelo de objeto do aplicativo host e acessar outros recursos disponíveis para o add-ins. For more information, see Os suplementos de nível de aplicativo de programação..

Todas as classes geradas em projetos do Office incluem Startup e Shutdown manipuladores de evento. Para começar a escrever código, você normalmente adiciona código para esses manipuladores de eventos. Para inicializar o add-in, você pode adicionar código para o Startup manipulador de eventos. Para limpar os recursos usados por seu suplemento, você pode adicionar código para o Shutdown manipulador de eventos. For more information, see Eventos em projetos do Office.

Acessando as Classes geradas em tempo de execução

Quando uma solução do Office é carregada, o Visual Studio Tools for Office runtime instancia a cada uma das classes geradas no projeto. Você pode acessar esses objetos de qualquer código em seu projeto usando o Globals classe. Por exemplo, você pode usar o Globals classe para chamar o código no ThisAddIn classe a partir de um manipulador de eventos de um botão de faixa de opções em um nível de aplicativo add-in.

For more information, see Acesso global a objetos em projetos do Office.

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

Ligação tardia em soluções do Office

Conceitos

Linguagens de programação com suporte em projetos do Office

Programação com Visual Basic vs. C# Visual em soluções do Office

Parâmetros opcionais em soluções do Office

Acesso global a objetos em projetos do Office

Eventos em projetos do Office

Considerações de espaço para nome em soluções do Office

Usando o meus projetos do Office em

Trechos de código de IntelliSense em projetos do Office

Desenvolvimento colaborativo de soluções do Office