Sdílet prostřednictvím


Názorný postup: Programování proti událostem ovládacího prvku NamedRange

Tento návod ukazuje, jak přidat NamedRange ovládací prvek na listu aplikace Microsoft Office Excel a program proti jeho událostí pomocí nástroje pro vývoj Office v sadě Visual Studio.

Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni dokumentu v aplikacích Excel 2013 a Excel 2010. Další informace naleznete v tématu Funkce aplikace Office a typ projektu.

Během tohoto návodu se naučíte, jak:

  • Přidat NamedRange ovládací prvek na listu.

  • Program proti NamedRange události.

  • Otestujte váš projekt.

[!POZNÁMKA]

Váš počítač může zobrazit jiné názvy nebo umístění pro některé prvky uživatelského rozhraní sady Visual Studio v následujících pokynech.Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením.Další informace naleznete v tématu Nastavení aplikace Visual Studio.

Požadavky

Chcete-li dokončit tento návod, potřebujete následující komponenty:

-

Edice sady Visual Studio 2012, která zahrnuje nástroje Microsoft Office Developer Tools. Další informace naleznete v tématu [Konfigurace počítače vyvinout řešení Office](bb398242\(v=vs.110\).md).
  • Excel 2013 nebo Excel 2010.

Vytváření projektu

V tomto kroku vytvoříte projekt sešitu aplikace Excel pomocí aplikace Visual Studio.

Vytvoření nového projektu

  • Vytvořte projekt sešitu aplikace Excel se název složky s názvem rozsah události.Ujistěte se, že vytvořit nový dokument je vybrán.Další informace naleznete v tématu Jak: vytvoření Office projekty v aplikaci Visual Studio.

    Visual Studio otevře nový sešit aplikace Excel v návrháři a přidá do projektu Moje události pojmenovanou oblast na Průzkumníku.

Přidání textu a pojmenované oblasti listu

Protože hostitelský ovládací prvky jsou rozšířeny objektů sady Office, můžete je přidat do dokumentu stejným způsobem by přidat nativní objekt.Můžete například přidat aplikace Excel NamedRange listu otevřením ovládacího prvku Vložení nabídce přejdete názeva volba definovat.Můžete také přidat NamedRange ovládací prvek přetažením z nástrojů do listu.

V tomto kroku přidáte ovládací prvky dvě pojmenovanou oblast na listu pomocí nástrojůa přidat text do listu.

Přidat oblast listu

  1. Ověřte, zda Moje Events.xlsx oblast s názvem je sešit otevřen v návrháři Visual Studio s Sheet1 zobrazí.

  2. Z Excel ovládací prvky karty z panelu nástrojů přetáhněte NamedRange buňky ovládacího prvku A1 v Sheet1.

    Ovládací prvek NamedRange zobrazí se dialogové okno.

  3. Ověřte, zda $1 $ se zobrazí v poli upravitelný text a buňka A1 je vybrán.Pokud není, klepněte na buňku A1 jej vyberte.

  4. Klikněte na tlačítko OK.

    Buňka A1 se stává oblast s názvem namedRange1.Je žádné viditelné označení listu, ale namedRange1 se zobrazí v název pole (umístěný nad na levé straně listu) buňky při A1 je vybrána.

  5. Přidat další NamedRange buňky ovládacího prvku B3.

  6. Ověřte, zda $B$ 3 se zobrazí v poli upravitelný text a buňka B3 je vybrán.Pokud není, klepněte na buňku B3 jej vyberte.

  7. Klikněte na tlačítko OK.

    Buňka B3 se stává oblast s názvem namedRange2.

Přidání textu do listu

  1. V buňce A1, zadejte následující text:

    Toto je příklad ovládacího prvku NamedRange.

  2. V buňce A3 (vlevo od namedRange2), zadejte následující text:

    Události:

V následující části napíšete kód, který vloží text do namedRange2 a upravuje vlastnosti namedRange2 ovládací prvek v reakci BeforeDoubleClick, Change, a SelectionChange události namedRange1.

Přidání kódu reagovat na událost BeforeDoubleClick

Vložení textu do NamedRange2 na základě události BeforeDoubleClick

  1. V Průzkumníku, klepněte pravým tlačítkem Sheet1.vb nebo Sheet1.cs a vyberte Zobrazení kódu.

  2. Přidejte kód tak, aby se namedRange1_BeforeDoubleClick obslužné rutiny události vypadá následovně:

    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. V jazyce C# musíte přidat obslužné rutiny událostí pro pojmenovanou oblast je znázorněno Startup události níže.Informace o vytváření obslužných rutin událostí, Jak: vytvoření obslužné rutiny událostí v projektech 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);
    

Přidání kódu reagovat na událost změny

Vložení textu do namedRange2 na základě Změna události

  • Přidejte kód tak, aby se NamedRange1_Change obslužné rutiny události vypadá následovně:

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

    [!POZNÁMKA]

    Protože poklepáním na buňku v oblasti aplikace Excel přejde do režimu úprav Change události dojde při výběru je přesunuta mimo rozsah i v případě, že došlo k žádné změny v textu.

Přidání kódu reagovat na události SelectionChange

Vložení textu do namedRange2 na základě události SelectionChange

  • Přidejte kód tak, aby se NamedRange1_SelectionChange obslužné rutiny události vypadá následovně:

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

    [!POZNÁMKA]

    Protože poklepáním na buňku v oblasti aplikace Excel způsobuje přesunutí do oblasti, SelectionChange události dochází před událostí BeforeDoubleClick události.

Testování aplikace

Nyní můžete otestovat ověřte text popisující události ze sešitu NamedRange ovládacího prvku vložena do jiné pojmenované oblasti při události jsou vyvolány.

Testování dokumentu

  1. Stisknutím klávesy F5 spustit projektu.

  2. Umístěte kurzor v namedRange1a ověřte, zda text týkající SelectionChange vložené události a komentáře je vložena do listu.

  3. Poklepáním uvnitř namedRange1a ověřte, zda text týkající se BeforeDoubleClick události vložena s červeným textem psaným kurzívou v namedRange2.

  4. Klepněte mimo namedRange1 a Poznámka k události change dojde při ukončení režimu úprav, přestože žádné změny v textu.

  5. Změnit text v namedRange1.

  6. Klepněte mimo namedRange1a ověřte, zda text týkající se Change události vložena s modrým textem do namedRange2.

Další kroky

Tento návod ukazuje základy programování v události NamedRange řízení.Zde je zřejmě další úkol:

Viz také

Úkoly

Jak: Změna velikosti ovládacích prvků NamedRange

Jak: přidání ovládacích prvků NamedRange listy

Jak: vytvoření obslužné rutiny událostí v projektech Office

Koncepty

Přehled ovládací prvky hostitel a Host položky

Automatizace aplikace Excel pomocí rozšířené objekty

NamedRange řízení

Programová omezení položek hostitel a Host ovládací prvky