Itens de host e Visão geral sobre controles de host

Se aplica a

As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e as versões do Microsoft Office.

Projetos de nível de documento

  • O Excel 2003

  • O Excel 2007

  • Word 2003

  • Word 2007

Projetos de nível de aplicativo

  • O Excel 2007

  • Word 2007

For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto.

Itens de host e controles de host são classes que ajudam a fornecer o modelo de programação para soluções de Ferramentas do Visual Studio para o Office.Eles tornam a interação com os modelos de objeto do Microsoft Office Word e do Microsoft Office Excel, que são baseados em COM, mais como interagir com objetos gerenciados, como controles de Windows Forms.

Itens de host

Itens de host são classes que fiquem na parte superior das hierarquias de modelo de objeto em projetos de Ferramentas do Visual Studio para o Office.Ferramentas do Visual Studio para o Office define os seguintes itens de host para soluções do Word e Excel:

Cada uma dessas classes estende uma classe que originalmente existe no modelo de objeto do Word ou Excel (chamado um nativo Office objeto).Por exemplo, o item de host Microsoft.Office.Tools.Word.Document estende a classe de Microsoft.Office.Interop.Word.Document, que é definida no assembly de interoperabilidade primária do Word.

Itens de host geralmente têm o mesmo Base funcionalidade que o Office correspondente objetos, mas foram aprimorados com os seguintes recursos:

  • A capacidade de host gerenciado controles, incluindo controles de host e controles de Windows Forms.

  • Modelos de evento mais sofisticados.Alguns eventos de documento, pasta de trabalho e planilha em nativos Word e Excel modelos de objeto são disparados somente no nível do aplicativo.Itens de host fornecem esses eventos no nível do documento, para que é mais fácil manipular os eventos de um documento específico.

Noções básicas sobre itens de host em projetos de nível de documento

Em projetos de nível de documento, itens de host fornecer um ponto de entrada para seu código, e têm os designers que ajudam você desenvolver sua solução.

O Microsoft.Office.Tools.Word.Document e Microsoft.Office.Tools.Excel.Worksheet host itens têm designers que são a representação visual do documento ou planilha, como um designer de Windows Forms.Você pode usar esse designer para modificar o conteúdo do documento ou planilha diretamente no Word ou Excel e arrastar controles para a superfície de design.Para obter mais informações, consulte Item de host do documento e Item de host de planilha.

O item de host Microsoft.Office.Tools.Excel.Workbook não agir como um Contêiner para controles que têm uma interface de usuário.Em vez disso, o designer para este item de host funciona como uma bandeja de componentes, que permite que você arraste um componente, como um DataSet, para sua superfície de design.For more information, see Item de host da pasta de trabalho.

Os itens do host não podem ser criados programaticamente em projetos de nível de documento.Em vez disso, usar a ThisDocument, ThisWorkbookou Sheetn classes que Ferramentas do Visual Studio para o Office gera automaticamente em seu projeto em tempo de design.Essas classes geradas derivam das classes item host, e fornecem um ponto de entrada para o seu código.For more information, see Limitações através de programação de itens de host e controles de host.

Noções básicas sobre itens de host em projetos de nível de aplicativo

Quando você cria um nível de aplicativo Adicionar - in, você não tem Acessar a quaisquer itens de host por padrão.No entanto, a partir do Visual Studio 2008 Serviço Pack 1 (SP1), você pode gerar Microsoft.Office.Tools.Word.Document, Microsoft.Office.Tools.Excel.Workbooke Microsoft.Office.Tools.Excel.Worksheet host itens Adicionar-ins em tempo de execução.

Depois de gerar um item de host, você pode executar tarefas, como adicionar controles a documentos e criar marcas inteligentes que são reconhecidos em um documento específico.For more information, see Estendendo os documentos do Word e Excel pastas de trabalho no nível de aplicativo Adicionar-ins em tempo de execução.

Controles de host

Controles de host estendem vários objetos de interface (UI) do usuário em modelos de objeto Word e Excel, como Microsoft.Office.Interop.Word.ContentControl e objetos de Microsoft.Office.Interop.Excel.Range.

Os seguintes controles de host estão disponíveis para projetos do Excel:

Os seguintes controles de host estão disponíveis para projetos do Word:

Controles de host que são adicionados para documentos do Office se comportam como objetos nativos do Office; no entanto, os controles de host têm funcionalidade adicional, incluindo eventos e recursos de ligação de dados.Por exemplo, quando você deseja capturar os eventos de um objeto nativo Microsoft.Office.Interop.Excel.Range no Excel, primeiro você deve manipular o evento de Alterar da planilha.Em seguida, você deve determinar se a Alterar ocorreu dentro a Microsoft.Office.Interop.Excel.Range.Por outro lado, o Controlarar de host Microsoft.Office.Tools.Excel.NamedRange possui um evento de Change que você pode manipular diretamente.

A relação entre um item de host e controles de host é muito semelhante à relação entre um controles de formulário do Windows e Windows Forms.Assim como você deve posicionar um Controlarar de caixa de texto em um Windows Formulário, você coloca um Controlarar de Microsoft.Office.Tools.Excel.NamedRange em um item de host Microsoft.Office.Tools.Excel.Worksheet.A ilustração a seguir mostra a relação entre itens de host e controles de host.

Além disso, Ferramentas do Visual Studio para o Office permite que você usar controles Windows Forms em seus soluções do Office, adicionando-os diretamente para a superfície de documento Word e Excel.For more information, see Controles de formulários do Windows em Visão geral de documentos do Office.

Observação:

Não há suporte para inclusão de controles de host ou controles Windows Forms em um subdocumento do Word.

Adicionando controles de host para seus documentos

Em projetos de nível de documento, você pode adicionar controles de host ao seu documentos do Word ou planilhas do Excel em tempo de design das seguintes maneiras:

  • Adicionar controles de host para o seu documento em tempo de design da mesma maneira você deve adicionar um objeto nativo.

  • Arrastar controles do host da Caixa de Ferramentas para seus documentos e planilhas.Controles de host do Excel estão disponíveis na guia Excel controles projetos do Excel, e controles de host do Word estão disponíveis na guia Controles do Word projetos do Word.

  • Arraste os controles de host da janela Fontes de dados para seus documentos e planilhas.Isso permite que você Adicionar controles que já estão vinculados a dados.For more information, see Vinculando dados a controles.

Em projetos de nível de documento e em projetos de nível de aplicativo iniciar no SP1, você também pode adicionar alguns controles de host para documentos em tempo de execução.For more information, see Adicionar controles a documentos do Office em tempo de execução.

Para obter mais informações sobre como adicionar controles de host para documentos, consulte os tópicos a seguir:

Nomear os controles de host

Quando você arrasta um Controlarar de host de De caixa de ferramentas ao seu documento, o Controlarar é denominado automaticamente usando o tipo de Controlarar com um número incremental ao final.Por exemplo, os indicadores são nomeados de bookmark1 de , bookmark2 e assim por diante.Se você usar a funcionalidade nativa do Word ou Excel para adicionar o Controlarar, você pode atribuir um determinado nome no momento que você Criar-lo.Você também pode renomear os controles alterando o valor de Propriedade de Name na janela Properties.

Observação:

Não é possível usar palavras reservadas para controles de host do nome.Por exemplo, se você adicionar um Controlarar de NamedRange para uma planilha e Alterar o nome para o do sistema, os erros ocorrem quando você compila o projeto.

Excluir os controles de host

Em projetos de nível de documento, você pode excluir controles host em tempo de design selecionando o controle na planilha do Excel ou documento do Word e pressionando a Excluir chave.No entanto, você deverá usar o Definir nome Caixa de Diálogo no Excel para excluir controles NamedRange.For more information, see Como: Excluir NamedRange controles em tempo de design.

Se você adicionar um Controlarar de host a um documento em tempo de design, você não deve Remover dela programaticamente em tempo de execução porque a Avançar vez que você tenta usar o Controlarar no código, uma exceção é lançada.O método de Delete de um controle de host apenas remove controles de host que são adicionados ao documento em tempo de execução.Se você chamar o método Delete de um Controlarar de host que foi criado em tempo de design, uma exceção é lançada.

Por exemplo, o método de Delete de um NamedRange exclui somente com êxito o NamedRange se ele tiver sido adicionado programaticamente para a planilha, que é conhecida como criar controles de host dinamicamente.Criados dinamicamente host controles também podem ser removidos passando o nome do controle para o método de Remove do Worksheet.Controls ou Document.Controls propriedade.For more information, see Adicionar controles a documentos do Office em tempo de execução.

Se os usuários finais excluir um Controlarar de host do documento em tempo de execução, a solução pode falhar de maneiras inesperadas.Você pode usar os recursos de proteção do documento do Word e Excel para proteger os controles de host contra exclusão.Para obter mais informações, consulte O Word Documento proteção técnicas de exemplo e Exemplo de técnicas do Excel documento proteção.

Observação:

Fazer não programaticamente Remover controles durante a Shutdown manipulador de eventos do documento ou planilha.Os elementos de interface do usuário não estão disponíveis quando o evento Shutdown ocorre.Se você quiser remover controles antes do aplicativo ser fechado, Adicionar seu código para outro manipulador de eventos, como BeforeClose ou BeforeSave.

Programação contra eventos de Controlarar de host

Uma maneira que controles de host estendem objetos do Office é adicionando eventos.Por exemplo, o objeto Microsoft.Office.Interop.Excel.Range no Excel e o objeto Microsoft.Office.Interop.Word.Bookmark no Word não têm eventos, mas Ferramentas do Visual Studio para o Office estende esses objetos adicionando eventos programáveis.Você pode acessar e código contra esses eventos a mesma maneira que você acessar eventos de controles no Windows Forms: através da lista Soltar-Para Baixo de eventos no Visual Basic e na página de propriedade de evento em C#.For more information, see Demonstra Passo a passo: Programação contra eventos de um Controlarar NamedRange.

Observação:

Você deve Não Definido o EnableEvents propriedade do objeto Application no Excel para false.Configuração esta propriedade como false impede que o Excel disparar os eventos, inclusive os eventos de controles host.

Consulte também

Conceitos

Os controles de conteúdo

Vinculando dados a controles

Limitações através de programação de itens de host e controles de host

Outros recursos

Controles de host do Word

Controles de host do Excel

Controles em documentos do Office

Date

History

Motivo

De 2008 de julho

Informações sobre o uso host itens e controles de host em suplementos de nível de aplicativo Adicionados.

Alteração de recurso do SP1.