Udostępnij za pośrednictwem


Wskazówki: programowanie w odniesieniu do zdarzeń formantu NamedRange

W tym instruktażu przedstawiono sposób dodawania NamedRange kontroli do arkusza programu Microsoft Office Excel i programu przed jego zdarzeń przy użyciu programu Visual Studio przy użyciu narzędzia programowania pakietu Office.

Zastosowanie: Informacje przedstawione w tym temacie mają zastosowanie do projektów na poziomie dokumentu obsługiwanych w programach Excel 2013 i Excel 2010. Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacjach pakietu Office i typ projektu.

W tym instruktażu, dowiesz się, jak:

  • Dodaj NamedRange kontroli do arkusza.

  • Program przeciwko NamedRange kontrolować zdarzenia.

  • Przetestuj swój projekt.

[!UWAGA]

Komputer może pokazać różne nazwy lub lokalizacje dla niektórych użytkowników programu Visual Studio elementów interfejsu w poniższych instrukcji.Wydanie programu Visual Studio, że masz i ustawienia, które możesz używać określenia tych elementów.Aby uzyskać więcej informacji, zobacz Dostosowywanie ustawień środowiska deweloperskiego w Visual Studio.

Wymagania wstępne

Potrzebne do przeprowadzenia tego instruktażu następujące składniki:

Tworzenie projektu

W tym kroku użytkownik utworzy projektu skoroszytu programu Excel przy użyciu programu Visual Studio.

Aby utworzyć nowy projekt

  • Tworzenie projektu skoroszyt programu Excel z nazwy Moje nazwany zakres zdarzeń.Upewnij się, że Utwórz nowy dokument jest zaznaczone.Aby uzyskać więcej informacji, zobacz Porady: tworzenie projektów Office w Visual Studio.

    Visual Studio otwiera nowy skoroszyt programu Excel w Projektancie i dodaje projekt Moje wydarzenia zakres o nazwie Solution Explorer.

Dodawanie tekstu i nazwane zakresy do arkusza

Ponieważ host kontrole są rozszerzone obiektów pakietu Office, możesz je dodać do dokumentu w taki sam sposób można dodać obiektu macierzystego.Na przykład, można dodać programu Excel NamedRange kontroli do arkusza, otwierając wstawić menu, wskazując Nazwai wybierając Definiuj.Można również dodać NamedRange formantu, przeciągając go z Przybornik do arkusza.

W tym kroku należy dodać dwa formanty nazwanego zakresu do arkusza za pomocą Przybornik, a następnie dodać tekst do arkusza.

Aby dodać zakres do arkusza

  1. Sprawdź, czy Events.xlsx Mój zakres o nazwie skoroszyt jest otwarty w projektancie programu Visual Studio z Sheet1 wyświetlane.

  2. Z Formantów programu Excel karcie przybornika, przeciągnij NamedRange kontroli do komórki A1 w Sheet1.

    Dodać formant NamedRange pojawi się okno dialogowe.

  3. Sprawdź, czy $A$ 1 pojawia się w polu tekstowym edytowalnego i że komórka A1 jest zaznaczone.Jeśli nie jest, kliknij komórkę, A1 , aby go zaznaczyć.

  4. Kliknij przycisk OK.

    Komórka A1 staje się zakres o nazwie namedRange1.Nie ma żadnych widocznych oznak w arkuszu, ale namedRange1 pojawia się w Nazwa pole (znajdujący się nad arkusza po lewej stronie) kiedy komórki A1 jest zaznaczone.

  5. Dodaj kolejny NamedRange kontroli do komórki B3.

  6. Sprawdź, czy $B$ 3 pojawia się w polu tekstowym edytowalnego i że komórka B3 jest zaznaczone.Jeśli nie jest, kliknij komórkę, B3 , aby go zaznaczyć.

  7. Kliknij przycisk OK.

    Komórka B3 staje się zakres o nazwie namedRange2.

Aby dodać tekst do arkusza

  1. W komórce A1, wpisz następujący tekst:

    Jest to przykład formantu NamedRange.

  2. W komórce A3 (po lewej stronie namedRange2), wpisz następujący tekst:

    Zdarzenia:

W poniższych sekcjach będzie napisanie kodu, który wstawia tekst w namedRange2 i modyfikuje właściwości namedRange2 formant w odpowiedzi na BeforeDoubleClick, Change, i SelectionChange wydarzenia z namedRange1.

Dodawanie kodu do odpowiedzi na zdarzenie BeforeDoubleClick

Aby wstawić tekst do NamedRange2 oparte na zdarzenie BeforeDoubleClick

  1. W Solution Explorer, kliknij prawym przyciskiem myszy Sheet1.vb lub Sheet1.cs i wybierz Widok Kod.

  2. Dodaj kod tak namedRange1_BeforeDoubleClick programu obsługi zdarzeń wygląda następująco:

    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. W języku C#, należy dodać obsługę zdarzeń dla nazwanego zakresu, jak pokazano na Startup zdarzenie poniżej.Aby uzyskać informacje na temat tworzenia procedury obsługi zdarzeń, zobacz Porady: tworzenie obsługi zdarzeń w projektach pakietu 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);
    

Dodawanie kodu do odpowiedzi na zdarzenie Change

Aby wstawić tekst do namedRange2 oparte na zdarzenie Change

  • Dodaj kod tak NamedRange1_Change programu obsługi zdarzeń wygląda następująco:

    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;
    }
    

    [!UWAGA]

    Ponieważ dwukrotnie komórkę w zakresie programu Excel przechodzi do trybu edycji, Change zdarzenie występuje, gdy zaznaczenie zostanie przeniesiony poza zakresem, nawet jeśli wystąpiły żadne zmiany do tekstu.

Dodawanie kodu do odpowiedzi na zdarzenie SelectionChange.

Aby wstawić tekst do namedRange2 oparte na zdarzenie SelectionChange.

  • Dodaj kod tak NamedRange1_SelectionChange programu obsługi zdarzeń wygląda następująco:

    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);
    }
    

    [!UWAGA]

    Dwukrotne kliknięcie komórki w zakresie programu Excel powoduje, że wybór przejść do zakresu, SelectionChange zdarzenie występuje przed BeforeDoubleClick zdarzenie.

Testowanie aplikacji

Teraz można przetestować skoroszyt, aby sprawdzić, że tekst opisujący zdarzenia z NamedRange kontroli jest wstawiany do innego nazwany zakres, gdy są wywoływane zdarzenia.

Aby przetestować dokument

  1. Naciśnij klawisz F5, aby uruchomić projekt.

  2. Umieść kursor w namedRange1i sprawdź, czy tekst w odniesieniu SelectionChange dodaje się zdarzenie, a komentarz jest wstawiany do arkusza.

  3. Kliknij dwukrotnie wewnątrz namedRange1i sprawdź, czy tekst w odniesieniu BeforeDoubleClick zdarzenia jest wstawiany z czerwony tekst pisany kursywą w namedRange2.

  4. Kliknij poza namedRange1 i pamiętać, że zdarzenie change występuje podczas zamykania w trybie edycji, mimo, że nie zmiany do tekstu.

  5. Zmienianie tekstu w namedRange1.

  6. Kliknij poza namedRange1i sprawdź, czy tekst w odniesieniu Change zdarzenia jest wstawiany z niebieski tekst w namedRange2.

Następne kroki

W tym instruktażu przedstawiono podstawy programowania przeciwko wydarzenia z NamedRange kontroli.Oto zadanie, które mogą okazać się dalej:

Zobacz też

Zadania

Porady: zmiana rozmiaru formantów NamedRange

Porady: dodawanie formantów NamedRange do arkuszy

Porady: tworzenie obsługi zdarzeń w projektach pakietu Office

Koncepcje

Przegląd obiektów hosta i formantów hosta

Automatyzowanie programu Excel za pomocą obiektów rozszerzonych

NamedRange — Formant

Ograniczenia programowe elementów hosta i formantów hosta