Programação personalizações em nível de documento
Quando você estende o Microsoft Office Word ou Excel de Microsoft Office usando uma personalização em nível de documento, você pode executar as seguintes tarefas:
Automatize o aplicativo usando o seu modelo de objeto.
Adicione controles para a superfície do documento.
Chame Visual Basic for Applications código VBA () no documento a partir do assembly de personalização.
Chame o código do VBA, o assembly de personalização.
Gerencie determinados aspectos do documento enquanto ele estiver em um servidor que não tenha de Microsoft Office instalado.
Personalize a interface do usuário (UI) do aplicativo.
Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento para os seguintes aplicativos: Excel 2007 e Excel 2010; Word 2007 e Word 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.
Alguns aspectos de escrever código em projetos de nível de documento são diferentes dos outros tipos de projetos em Visual Studio. Muitas dessas diferenças são causadas pela maneira como o Office em modelos de objeto são expostos ao código gerenciado. For more information, see Escrevendo código em soluções do Office.
Para obter informações gerais sobre as personalizações em nível de documento e de outros tipos de soluções que você pode criar usando as ferramentas de desenvolvimento do Office em Visual Studio, consulte Visão geral de desenvolvimento de soluções do Office.
Usando as Classes geradas em projetos de nível de documento
Quando você cria um projeto de nível de documento, o Visual Studio automaticamente gera uma classe no projeto que você pode usar para começar a escrever seu código. Visual Studio gera classes diferentes para o Word e Excel:
Em projetos de nível de documento do Word, a classe é chamada ThisDocument por padrão.
Projetos de nível de documento para o Excel tem várias classes geradas: uma pasta de trabalho propriamente dito e uma para cada planilha. Por padrão, essas classes têm os seguintes nomes:
ThisWorkbook
Sheet1
Sheet2
Sheet3
A classe gerada contém os manipuladores de eventos são chamados quando o documento está aberto ou fechado. Para executar código quando o documento é aberto, adicione código para o Startup manipulador de eventos. Para executar código antes do documento é fechado, adicione código para o Shutdown manipulador de eventos. For more information, see Eventos em projetos do Office.
Noções básicas sobre o Design das Classes geradas
Em projetos destinados a.NET Framework 3.5, as classes geradas derivam a maioria dos seus membros e o comportamento a seguir o item de host classes de Visual Studio Tools for Office runtime:
ThisDocument: derivaMicrosoft.Office.Tools.Word.Document
ThisWorkbook: derivaMicrosoft.Office.Tools.Excel.Workbook
Sheetn: derivaMicrosoft.Office.Tools.Excel.Worksheet
Itens de host são tipos que estão na parte superior das hierarquias de modelo de objeto em projetos do Office, e eles estendem o comportamento de objetos correspondentes na assemblies de interoperabilidade primários (PIAs) do Office. Para obter mais informações sobre itens de host, consulte Itens de host e a visão geral sobre controles de Host.
Em projetos destinados a .NET Framework 4, tipos de item de host na Visual Studio Tools for Office runtime são as interfaces, para que as classes geradas não podem derivar sua implementação deles. Em vez disso, as classes geradas derivam a maioria dos seus membros as seguintes classes base:
ThisDocument: derivaMicrosoft.Office.Tools.Word.DocumentBase
ThisWorkbook: derivaMicrosoft.Office.Tools.Excel.WorksheetBase
Sheetn: derivaMicrosoft.Office.Tools.Excel.WorkbookBase
Essas classes base redirecionar todas as chamadas para seus membros para as implementações internas das interfaces de item de host correspondente na Visual Studio Tools for Office runtime. Por exemplo, se você chamar o Protect método do ThisDocument classe, o Microsoft.Office.Tools.Word.DocumentBase classe redireciona esta chamada para a implementação interna da Microsoft.Office.Tools.Word.Document interface o Visual Studio Tools for Office runtime. Para obter mais informações sobre as diferenças na Visual Studio Tools for Office runtime para projetos destinados a.NET Framework 3.5 e o .NET Framework 4, consulte Visual Studio Tools for Office visão geral sobre o tempo de execução.
Acessando o modelo de objeto do aplicativo Host
Para acessar o modelo de objeto do aplicativo host, use os membros da classe gerada em seu projeto. Cada uma dessas classes corresponde a um objeto no modelo de objeto do Excel ou Word e contêm a maioria das mesmas propriedades, métodos e eventos. Por exemplo, o ThisDocument de classe em um projeto de nível de documento do Word fornece a maioria dos mesmos membros como o Microsoft.Office.Interop.Word.Document o objeto no modelo de objeto do Word.
O exemplo de código a seguir mostra como usar o modelo de objeto do Word para salvar o documento que faz parte de uma personalização em nível de documento do Word. Este exemplo se destina a ser executado a partir de ThisDocument classe.
Me.Save()
this.Save();
Para fazer a mesma coisa de fora a ThisDocument da classe, use o Globals o objeto para o acesso a ThisDocument classe. Por exemplo, você pode adicionar esse código em um arquivo de código do painel de ações se você deseja incluir um Salvar botão no painel de ações da interface do usuário.
Globals.ThisDocument.Save()
Globals.ThisDocument.Save();
Porque o ThisDocument classe obtém a maioria de seus membros da Microsoft.Office.Tools.Word.Document item de host, o Save método é chamado neste código é realmente a Save método da Microsoft.Office.Tools.Word.Document item de host. Esse método corresponde do Save método o Microsoft.Office.Interop.Word.Document objeto no modelo de objeto do Word.
Para obter mais informações sobre como usar os modelos de objeto do Word e Excel, consulte Palavra Overview do modelo de objeto e Visão geral do modelo de objeto do Excel.
Para obter mais informações sobre o Globals de objeto, consulte Acesso global a objetos em projetos do Office.
Adicionando controles a documentos
Para personalizar a interface do usuário do documento, você pode adicionar controles Windows Forms ou controles de host para a superfície do documento. Combinando a diferentes conjuntos de controles e escrevendo o código, que você pode vincular controles a dados, coletar informações do usuário e responder a ações do usuário.
Os controles de host são classes que estendem a alguns dos objetos no modelo de objeto do Word e Excel. Por exemplo, o Microsoft.Office.Tools.Excel.ListObject o controle de host fornece toda a funcionalidade da Microsoft.Office.Interop.Excel.ListObject no Excel. No entanto, o Microsoft.Office.Tools.Excel.ListObject o controle de host também tem eventos adicionais e recursos de ligação de dados.
For more information, see Itens de host e a visão geral sobre controles de Host and Controles do Windows Forms em Visão geral de documentos do Office.
Combinando o VBA e personalizações em nível de documento
Você pode usar o código do VBA em um documento que faz parte de uma personalização em nível de documento. Você pode chamar o código do VBA no documento do assembly de personalização e você também pode configurar o seu projeto para habilitar o código do VBA no documento para chamar o código no assembly de personalização.
For more information, see Combinando o VBA e personalizações em nível de documento.
Gerenciamento de documentos em um servidor
Você pode gerenciar vários aspectos diferentes de personalizações em nível de documento em um servidor que não tem o Microsoft Office Word ou Excel de Microsoft Office instalado. Por exemplo, você pode acessar e modificar dados no cache de dados do documento. Você também pode gerenciar o assembly de personalização associado ao documento. Por exemplo, você pode remover programaticamente o assembly do documento para que o documento não executa o seu código, ou você programaticamente pode anexar um assembly em um documento.
For more information, see Gerenciamento de documentos em um servidor usando a classe ServerDocument.
Personalizando a Interface de usuário de aplicativos de Microsoft Office
Você pode personalizar a interface do usuário do Word e o Excel das seguintes maneiras, usando uma personalização em nível de documento:
Adicione controles de host ou controles Windows Forms para a superfície do documento.
For more information, see Automatizar o Word usando o Extended objetos, Automatizar o Excel usando o Extended objetos, and Controles do Windows Forms em Visão geral de documentos do Office.
Adicione um painel de ações do documento.
For more information, see Visão geral painel Ações.
Adicione marcas inteligentes no documento.
Observação As marcas inteligentes estão obsoletas no Excel 2010 e Word 2010. For more information, see Visão geral sobre marcas inteligentes.
For more information, see Visão geral sobre marcas inteligentes.
Adicione guias personalizadas à Faixa de opções.
For more information, see Visão geral da faixa de opções.
Adicione grupos personalizados a uma guia interna na faixa de opções.
For more information, see Como: Personalizar a guia interna.
Para obter mais informações sobre como personalizar os aplicativos de interface do usuário do Microsoft Office, consulte Personalização de interface do usuário do Office.
Consulte também
Conceitos
Gerenciamento de documentos em um servidor usando a classe ServerDocument
Obtendo Extended objetos a partir de objetos nativos do Office no nível do documento personalizações
Escrevendo código em soluções do Office