Arquitetura de personalizações em nível de documento
Visual Studio 2012 inclui projetos para criar personalizações da nível do Microsoft Office Word e Microsoft Office Excel.Este tópico descreve os seguintes aspectos da personalizações de nível:
Personalizações entendendo
Componentes das personalizações
Como as personalizações funcionam com aplicativos do Microsoft Office
Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento para os seguintes aplicativos: Excel 2013 e Excel 2010; Word 2013 e Word 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.
Para obter informações gerais sobre como criar personalizações da nível, consulte Visão geral de desenvolvimento de soluções do Office, Guia de Introdução à programação em nível de documento personalizações para o Word, e Guia de Introdução à programação em nível de documento personalizações para Excel.
Personalizações entendendo
Quando você usa ferramentas do desenvolvedor do Office no Visual Studio para criar uma personalização da nível de usuário, você cria um assembly de código gerenciado que está associado com um documento específico.Um documento ou uma pasta de trabalho com um conjunto associado ter extensões são direção de código gerenciado.Para obter mais informações, consulte Projetando e criando soluções do Office.
Quando um usuário abre o documento, o assembly é carregado pelo aplicativo Microsoft Office.Depois que o assembly é carregado, personalização pode responder a eventos quando o documento está aberto.A personalização também pode chamar no modelo de objeto para automatizar e estender o aplicativo quando o documento está aberto, e pode usar qualquer uma das classes em .NET Framework.
O assembly se comunica com componentes COM do aplicativo através do assembly de interoperabilidade primário do aplicativo.Para obter mais informações, consulte Assemblies de interoperabilidade primária do Office e Visão geral de desenvolvimento de soluções do Office.
Se um usuário abre mais personalizações de nível ao mesmo tempo, cada assembly é carregado em um domínio de aplicativo diferente.Isso significa que uma solução que se comporta incorretamente não pode causar outras soluções falhar.personalizações da nível são projetados para trabalhar com um único documento em um único domínio de aplicativo.Não são projetados para comunicação entre documento.Para obter mais informações sobre domínios de aplicativos, consulte Domínios de aplicativo.
Observação |
---|
personalizações da nível que você cria usando o desenvolvedor do Office ferramenta de ferramentas no Visual Studio são projetadas para serem usados somente quando o aplicativo é inicializado por um usuário final.Se o aplicativo é iniciado por meio de programação, por exemplo, usando automação, personalização pode não funcionar como esperado. |
Experiências de tempo de design e em tempo de execução
Para entender a arquitetura de personalizações da nível de usuário, é útil entender as experiências de criar uma solução e executar uma solução.
Tempo de design
A experiência em tempo de design inclui as seguintes etapas:
O desenvolvedor cria um projeto de um documento em nível Visual Studio.O projeto inclui o documento e assembly que executa code-behind do documento.O documento pode já existir (talvez criado por um designer), ou um novo documento pode ser criado com o projeto.
O designer- tanto o desenvolvedor que cria o projeto ou alguém outro- criar a aparência finais de documento para o usuário final.
Tempo de execução
A experiência em tempo de execução inclui as seguintes etapas:
O usuário final abrir um documento ou uma pasta de trabalho que tenham extensões de código gerenciado.
O documento ou pasta de trabalho carregar o conjunto compilado.
O assembly responde a eventos enquanto o usuário funciona no documento ou na pasta de trabalho.
Perspectiva do desenvolvedor e o usuário final comparada
Porque o desenvolvedor primeiro funciona em Visual Studio, e os trabalhos de usuário final em palavras ou o excel, há duas maneiras para entender personalizações da nível.
A perspectiva do desenvolvedor |
A perspectiva de usuário final |
---|---|
Usando Visual Studio, que o desenvolvedor escreve código que é acessível a palavra e Excel. Embora ele possa parecer que o desenvolvedor estiver criando um arquivo executável que executa palavra ou o excel, o processo funciona realmente o contrário.O documento está associado a um assembly e contém um ponteiro para esse assembly.Quando o documento abre, a palavra ou do excel usa o assembly e executar código em resposta a todos os eventos manipulados. |
Aqueles que usam a solução simplesmente abre o documento ou pasta de trabalho (ou criar um novo documento de um modelo) assim como eles abririam qualquer outro arquivo Microsoft Office. O assembly fornece personalizações no documento ou na pasta de trabalho como automaticamente a preenche com dados atual, ou exibir uma caixa de diálogo para informações de solicitação. |
Formatos de documento suporte para personalizações da Nível
Quando você cria um projeto de personalização, você pode escolher o formato de documento que você deseja usar no projeto.Para obter mais informações, consulte Como: criar projetos do Office em Visual Studio.
A tabela a seguir lista os formatos de documento que você pode usar em personalizações da nível para o excel e palavra.
O excel |
Palavra |
---|---|
Pasta de trabalho do Excel (.xlsx) Pasta de trabalho habilitado para macro Excel (.xlsm) Pasta de trabalho do excel (.xlsb binário) Pasta de trabalho do excel 97-2003 (.xls) Modelo do excel (.xltx) Modelo habilitado para macro Excel (.xltm) Modelo do excel 97-2003 (.xlt) |
Documento do word (.docx) Habilitado para macro documento do word (.docm) Documento do word) 97-2003 (.doc Modelo da palavra (.dotx) Modelo habilitado para macro da palavra (.dotm) Modelo do word 97-2003 (.dot) |
Você deve criar extensões de código gerenciado apenas para documentos nos formatos suportados.Caso contrário, determinados eventos podem não ser gerados quando o documento aberto no aplicativo.Por exemplo, o evento de Open não é gerado quando você usa as extensões de código gerenciado com as pastas de trabalho salvas no formato a planilha do excel XML ou na página inicial (.htm; formato de .html).
Suporte para os documentos do word que têm extensões de nome de arquivo .xml
Os modelos de projeto de um documento nível não permitem que você crie projetos baseados nos formatos de arquivo:
Documento XML do word *xml ().
Documento XML 2003 do word *xml ().
Se você quiser que os usuários finais para usar personalizações em esses formatos de arquivo, criar e implantar uma personalização que usa um dos formatos de arquivo especificados suportados na tabela anterior.Após ter instalado personalização, os usuários finais podem salvar o documento no formato XML de documento do word *xml (ou 2003) no formato XML de documento do word *xml (), e personalização continuará funcionando como esperado.
Componentes das personalizações
Os componentes essenciais de uma personalização são o documento e assembly.Além de esses componentes, há várias outras partes que executam uma função importante em como os aplicativos do Microsoft Office descobrem e carregam personalizações.
Manifesto de implantação e manifesto do aplicativo
Manifestos de implantação do uso das personalizações e manifestos de aplicativo para identificar e carregar a versão mais atual do assembly de personalização.Os pontos de manifesto de implantação para o aplicativo atual oferece.Os pontos de manifesto de aplicativo ao conjunto de personalização, e especifique a classe do ponto de entrada (as classes ou) para executar o assembly.Para obter mais informações, consulte Manifestos de aplicativo e implantação em soluções do Office.
O Visual Studio para o tempo de execução do Office
Para executar personalizações da nível que são criados usando as ferramentas do desenvolvedor do Office no Visual Studio, o usuário final que os computadores devem ter Visual Studio Tools for Office Runtime instalado.Visual Studio Tools for Office Runtime inclui componentes não gerenciados que carregam o assembly de personalização, e também um conjunto de módulos (assemblies) gerenciados.Esses assemblies gerenciados fornecem o modelo de objeto que seu código de personalização usa para automatizar e estendem o aplicativo host.
Para obter mais informações, consulte Visual Studio Tools for Office visão geral sobre o tempo de execução.
Como as personalizações funcionam com aplicativos do Microsoft Office
Quando um usuário abrir um documento que seja parte de uma personalização do Microsoft Office, o aplicativo usa o manifesto de implantação que é associado ao documento para localizar e carregar a versão mais atual do assembly de personalização.O local do manifesto de implantação é armazenado em uma propriedade do documento personalizada chamada _AssemblyLocation.A cadeia de caracteres que identifica esse local é inserido na propriedade quando você compila a solução.
Os pontos de manifesto de implantação para o manifesto do aplicativo, que aponta para o conjunto mais atual.Para obter mais informações, consulte Manifestos de aplicativo e implantação em soluções do Office.
A ilustração a seguir mostra a arquitetura básica de uma personalização da nível.
Arquitetura de personalização
Observação |
---|
Em soluções do Office que direcionam .NET Framework 4, chamada de soluções no modelo de objeto do aplicativo host usando informações principal do tipo de (PIA) do assembly de interoperabilidade que é inserida no assembly de solução, em vez de chamada no PIA diretamente.Para obter mais informações, consulte Projetando e criando soluções do Office. |
Processo de carregamento
As seguintes etapas ocorrem quando um usuário abrir um documento que seja parte de uma solução do Microsoft Office.
O aplicativo do Microsoft Office verifica as propriedades personalizadas do documento para ver se há extensões de código gerenciado associadas com o documento.Para obter mais informações, consulte Visão geral sobre propriedades de documento personalizado.
Se houver extensões de código gerenciado, o aplicativo carrega VSTOEE.dll, que carrega VSTOLoader.dll.Esses são dlls não gerenciadas que são os componentes do carregador para as ferramentas do Visual Studio 2010 para o tempo de execução do Office.Para obter mais informações, consulte Visual Studio Tools for Office visão geral sobre o tempo de execução.
VSTOLoader.dll carrega .NET Framework e inicia a parte de Visual Studio Tools for Office Runtimegerenciado.
Se o documento está aberto de um local diferente do computador local, Visual Studio Tools for Office Runtime verifica que o local do documento está na lista de Locais Confiáveis em Configurações da Central de Confiabilidade para o aplicativo específico do Office.Se o local de documento não está em uma localidade confiável, personalização não é confiável, e o processo de carregamento para aqui.
Visual Studio Tools for Office Runtime instala a solução se ainda não foi instalada, baixa os mais recentes os manifestos de aplicativo e implantação, e executa uma série de verificações de segurança.Para obter mais informações, consulte Protegendo soluções do Office.
Se a personalização é confiável para executar, Visual Studio Tools for Office Runtime usa o manifesto de implantação e o manifesto do aplicativo para verificar se há atualizações de assemblies.Se uma nova versão do assembly estiver disponível, o tempo de execução download da nova versão do assembly no cache de ClickOnce no computador cliente.Para obter mais informações, consulte Implantando uma solução do Office.
Visual Studio Tools for Office Runtime cria um novo domínio de aplicativo no qual carregar o conjunto de personalização.
Visual Studio Tools for Office Runtime carrega o assembly de personalização no domínio de aplicativo.
Visual Studio Tools for Office Runtime chama o manipulador de eventos de Startup no assembly de personalização.Para obter mais informações, consulte Eventos em projetos do Office
Consulte também
Conceitos
Arquitetura dos suplementos de nível de aplicativo
Visual Studio Tools for Office visão geral sobre o tempo de execução
Visão geral sobre propriedades de documento personalizado
Dados armazenados em cache no nível do documento personalizações