Compartilhar via


Demonstra Passo a passo: Programação contra eventos de um Controlarar NamedRange

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.

Tipo de Projeto

  • Projetos de nível de documento

Versão do Microsoft Office

  • O Excel 2007

  • O Excel 2003

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

Esta explicação passo a passo demonstra como adicionar um Controlarar de NamedRange a uma planilha do Microsoft Office Excel e programar em seus eventos usando Ferramentas do Visual Studio para o Office.

Durante este explicação passo a passo, você aprenderá como:

  • Adicionar um Controlarar de NamedRange a uma planilha.

  • Programa contra NamedRange eventos de Controlarar.

  • Teste seu projeto.

Observação:

Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de interface do usuário do Visual Studio nas instruções a seguir.A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos.Para obter mais informações, consulte Configurações do Visual Studio.

Pré-requisitos

Para concluir esta explicação passo a passo, será necessário:

  • Ferramentas do Visual Studio para o Office (um componente opcional do O Visual Studio 2008 Professional e Visual Studio Team System).

  • O Microsoft Office Excel 2003 ou Microsoft Office Excel 2007.

Criando o projeto

Nesta etapa, você irá criar um projeto de pasta de trabalho do Excel usando Ferramentas do Visual Studio para o Office.

Para criar um novo projeto

  • Criar um projeto de pasta de trabalho do Excel com o nome Meu nome intervalo de eventos.Certifique-se de que Criar um documento novo está Selecionadoda.For more information, see Como: Criar o Visual Studio Tools para projetos do Office.

    O Visual Studio abre a Novo pasta de trabalho do Excel no designer e adiciona o projeto Meus eventos de intervalo nomeado Gerenciador de Soluções.

Adicionar texto e nomeados intervalos para a planilha

Como os controles de host são estendidos objetos do Office, você pode adicioná-los ao seu documento da mesma maneira você deve adicionar o objeto nativo.Por exemplo, você pode adicionar um Controlarar de NamedRange do Excel para uma planilha Abrindo o menu de inserir, apontando para Nomee escolhendo Definir.Você também pode adicionar um Controlarar de NamedRange arrastando-o de do Caixa de Ferramentas para a planilha.

Nesta etapa, você irá adicionar dois controles de intervalo nomeado para a planilha usando a caixa de ferramentas e, em seguida, adicionar texto a ela.

Para adicionar um intervalo para a sua planilha

  1. Verifique se a pasta de trabalho Meu Events.xls de intervalo nomeado Abrir no designer do Visual Studio, com Sheet1 exibido.

  2. Na guia Excel controles da caixa de ferramentas, arraste um controle NamedRange para a célula A1 em Sheet1.

    A caixa de diálogo Adicionar NamedRange Controlar aparece.

  3. Verifique se $ A $ 1 aparece na caixa de texto editável, e que de A1 célula está Selecionadoda.Se não estiver, clique em célula A1 para Selecionar-lo.

  4. Clique em OK.

    Célula A1 torna-se um intervalo nomeado namedRange1.Não há nenhuma indicação visível na planilha, mas namedRange1 aparece na caixa Nome (localizado logo acima da planilha na Esquerda lado) quando a célula A1 é selecionado.

  5. Adicionar NamedRange outro Controlarar para a célula B3.

  6. Verifique se $ B $ 3 aparece na caixa de texto editável, e que de B3 célula está Selecionadoda.Se não estiver, clique em célula B3 para Selecionar-lo.

  7. Clique em OK.

    Célula B3 torna-se um intervalo nomeado namedRange2.

Para adicionar texto a sua planilha

  1. Na célula A1, tipo o seguinte texto:

    Este é um exemplo de um Controlarar NamedRange.

  2. Na célula A3 (à esquerda do namedRange2), tipo o seguinte texto:

    Eventos:

As seções a seguir, você Gravará código que insere texto no namedRange2 e modifica as propriedades do Controlarar namedRange2 em resposta à BeforeDoubleClick, Changee SelectionChange eventos de namedRange1.

Adicionando código para responder para o evento BeforeDoubleClick

Para inserir texto em NamedRange2 com base no evento BeforeDoubleClick

  1. Em Gerenciador de Soluções, clique com o botão direito do mouse em Sheet1.vb ou Sheet1.cs e Selecionar Exibir Code.

  2. Adicionar código para o manipulador de eventos namedRange1_BeforeDoubleClick se parece com o seguinte:

    Private Sub NamedRange1_BeforeDoubleClick( _
        ByVal Target As Microsoft.Office.Interop.Excel.Range, ByRef Cancel As Boolean) _
        Handles NamedRange1.BeforeDoubleClick
    
        With Me.NamedRange2
            .Value2 = "The BeforeDoubleClick event occurred."
            .Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red)
            .Font.Italic = True
        End With
    End Sub
    
    private void namedRange1_BeforeDoubleClick(
        Microsoft.Office.Interop.Excel.Range Target, ref bool Cancel)
    {
        this.namedRange2.Value2 = "The BeforeDoubleClick event occurred.";
        this.namedRange2.Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
        this.namedRange2.Font.Italic = true;
    }
    
  3. Em C#, você precisa adicionar manipuladores de eventos para o intervalo nomeado como mostrado no evento Startup abaixo.Para obter informações sobre a criação de manipuladores de eventos, consulte Como: Criar manipuladores de eventos no Visual Studio Tools for Office.

    this.namedRange1.BeforeDoubleClick += new Microsoft.Office.Interop.Excel.
        DocEvents_BeforeDoubleClickEventHandler(namedRange1_BeforeDoubleClick);   
    
    this.namedRange1.Change += new Microsoft.Office.Interop.Excel.
        DocEvents_ChangeEventHandler(namedRange1_Change);
    
    this.namedRange1.SelectionChange +=new Microsoft.Office.Interop.Excel.
        DocEvents_SelectionChangeEventHandler(namedRange1_SelectionChange);
    

Adicionando código para responder para o evento de Alterar

Para inserir texto em namedRange2 baseia o evento Alterar

  • Adicionar código para o manipulador de eventos NamedRange1_Change se parece com o seguinte:

    Private Sub NamedRange1_Change(ByVal Target As Microsoft.Office.Interop.Excel.Range) _
        Handles NamedRange1.Change
    
        With Me.NamedRange2
            .Value2 = "The Change event occurred."
            .Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Blue)
            .Font.Italic = False
        End With
    End Sub
    
    private void namedRange1_Change(Microsoft.Office.Interop.Excel.Range Target)
    {
        this.namedRange2.Value2 = "The Change event occurred.";
        this.namedRange2.Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Blue);
        this.namedRange2.Font.Italic = false;
    }
    
    Observação:

    Porque insere Duplo em uma célula em um intervalo do Excel Modo de Edição, um Evento de Change ocorre quando a seleção é movida fora do intervalo, mesmo que nenhuma alteração ao texto ocorreu.

Adicionando código para responder para o evento SelectionChange

Para inserir texto em namedRange2 com base no evento SelectionChange

  • Adicionar código para o manipulador de eventos NamedRange1_SelectionChange se parece com o seguinte:

    Private Sub NamedRange1_SelectionChange(ByVal Target As Microsoft.Office.Interop.Excel.Range) _
        Handles NamedRange1.SelectionChange
    
        With Me.NamedRange2
            .Value2 = "The SelectionChange event occurred."
            .AddComment("SelectionChange always occurs before BeforeDoubleClick.")
            .Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black)
        End With
    End Sub
    
    private void namedRange1_SelectionChange(Microsoft.Office.Interop.Excel.Range Target)
    {
        this.namedRange2.Value2 = "The SelectionChange event occurred.";
        this.namedRange2.AddComment("SelectionChange always occurs before BeforeDoubleClick.");
        this.namedRange2.Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black);
    }
    
    Observação:

    Como clicar Duplo em uma célula em um intervalo do Excel faz a seleção para mover para o intervalo, um Evento SelectionChange ocorre antes que o evento BeforeDoubleClick ocorre.

Testando o aplicativo

Agora você pode testar sua pasta de trabalho para verificar que o texto que descreve os eventos de um Controlarar de NamedRange é inserido em outro intervalo nomeado quando os eventos são gerados.

Para testar seu documento

  1. Pressionarionar F5 para executar seu projeto.

  2. Posicione o cursor no namedRange1e verifique se que o texto sobre o evento SelectionChange é inserido e que um comentário é inserido na planilha.

  3. Clique Duplo em namedRange1e verifique se que o texto sobre eventos de BeforeDoubleClick é inserido com texto vermelho em itálico em namedRange2.

  4. Clique fora do namedRange1 e Anotação que o evento de Alterar ocorre quando você sair Modo de Editar mesmo que não foi feita nenhuma Alterar no texto.

  5. Alterar o texto dentro namedRange1.

  6. Clique fora do namedRange1e verifique se o texto em relação ao evento Change é inserido com o texto azul em namedRange2.

Próximas etapas

Esta explicação passo a passo mostra as noções básicas de programação em eventos de um Controlarar de NamedRange.Aqui estão algumas tarefas que podem vie em seguida:

Consulte também

Tarefas

Como: Excluir NamedRange controles em tempo de design

Como: Redimensionar controles NamedRange

Como: Adicionar controles NamedRange a planilhas

Como: Criar manipuladores de eventos no Visual Studio Tools for Office

Conceitos

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

Controlarar NamedRange

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

Outros recursos

Controles de host do Excel