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:
Edice Visual Studia 2013, která zahrnuje nástroje Microsoft Office Developer Tools. Další informace najdete v tématu Konfigurace počítače pro vývoj řešení pro systém Office.
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 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
Ověřte, zda Moje Events.xlsx oblast s názvem je sešit otevřen v návrháři Visual Studio s Sheet1 zobrazí.
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.
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.
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.
Přidat další NamedRange buňky ovládacího prvku B3.
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.
Klikněte na tlačítko OK.
Buňka B3 se stává oblast s názvem namedRange2.
Přidání textu do listu
V buňce A1, zadejte následující text:
Toto je příklad ovládacího prvku NamedRange.
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
V Průzkumníku, klepněte pravým tlačítkem Sheet1.vb nebo Sheet1.cs a vyberte Zobrazení kódu.
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; }
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
Stisknutím klávesy F5 spustit projektu.
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.
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.
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.
Změnit text v namedRange1.
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:
- Nasazení projektu.Další informace naleznete v tématu Nasazení řešení Office.
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ů
Programová omezení hostitelských položek a hostitelských ovládacích prvků