Sdílet prostřednictvím


Návod: Programové ošetření událostí 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 Excelu 2013 a v Excelu 2010. Další informace najdete v tématu Dostupné funkce podle aplikací systému 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 Přizpůsobení nastavení pro vývoj v sadě Visual Studio.

Požadavky

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

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 Postupy: Vytváření projektů pro systém Office v prostředí 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í, Postupy: Vytváření obslužných rutin událostí v projektech pro systém 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

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

Postupy: Přidání ovládacích prvků NamedRange do listů

Postupy: Vytváření obslužných rutin událostí v projektech pro systém Office

Koncepty

Přehled hostitelských položek a hostitelských ovládacích prvků

Automatizace v aplikaci Excel s použitím rozšířených objektů

NamedRange – ovládací prvek

Programová omezení hostitelských položek a hostitelských ovládacích prvků