Dodawanie kontrolek NamedRange do arkuszy

Kontrolki można dodawać NamedRange do arkusza programu Microsoft Office Excel w czasie projektowania i w czasie wykonywania w projektach na poziomie dokumentu.

Dotyczy: informacje w tym temacie dotyczą projektów na poziomie dokumentu i projektów dodatków VSTO dla programu Excel. Aby uzyskać więcej informacji, zobacz Funkcje dostępne przez aplikacja pakietu Office lication i typ projektu.

Kontrolki można również dodawać NamedRange w czasie wykonywania w projektach dodatków VSTO.

W tym temacie opisano następujące zadania:

Dodawanie kontrolek NamedRange w czasie projektowania

Istnieje kilka sposobów dodawania NamedRange kontrolek do arkusza w projekcie na poziomie dokumentu w czasie projektowania: z poziomu programu Excel, z przybornika programu Visual Studio i z okna Źródła danych.

Uwaga

Na komputerze w poniższych instrukcjach mogą być wyświetlane inne nazwy i lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio. Te elementy są określane przez numer wersji Visual Studio oraz twoje ustawienia. Aby uzyskać więcej informacji, zobacz Personalizowanie środowiska IDE.

Aby dodać kontrolkę NamedRange do arkusza przy użyciu pola nazw w programie Excel

  1. Zaznacz komórkę lub komórki, które chcesz uwzględnić w nazwanym zakresie.

  2. W polu Nazwa wpisz nazwę zakresu i naciśnij klawisz Enter.

    Pole nazwy znajduje się obok paska formuły tuż nad kolumną A arkusza.

Aby dodać kontrolkę NamedRange do arkusza przy użyciu przybornika

  1. Otwórz przybornik i kliknij kartę Kontrolki programu Excel.

  2. Kliknij NamedRange i przeciągnij go do arkusza.

    Zostanie wyświetlone okno dialogowe Dodawanie nazwanego zakresu .

  3. Zaznacz komórkę lub komórki, które chcesz uwzględnić w nazwanym zakresie.

  4. Kliknij przycisk OK.

    Jeśli nie chcesz, aby nazwa domyślna nadana kontrolce została zmieniona, możesz zmienić nazwę w oknie Właściwości .

Aby dodać kontrolkę NamedRange do arkusza przy użyciu okna Źródła danych

  1. Otwórz okno Źródła danych i utwórz źródło danych dla projektu. Aby uzyskać więcej informacji, zobacz Dodawanie nowych połączeń.

  2. Przeciągnij pojedyncze pole z okna Źródła danych do arkusza.

    Kontrolka powiązana z NamedRange danymi jest dodawana do arkusza. Aby uzyskać więcej informacji, zobacz Powiązanie danych i Formularze systemu Windows.

Dodawanie kontrolek NamedRange w czasie wykonywania w projekcie na poziomie dokumentu

Kontrolkę NamedRange można dodać programowo do arkusza w czasie wykonywania. Dzięki temu można utworzyć kontrolki hosta w odpowiedzi na zdarzenia. Dynamicznie tworzone nazwane zakresy nie są utrwalane w arkuszu jako kontrolki hosta po zamknięciu arkusza. Aby uzyskać więcej informacji, zobacz Dodawanie kontrolek do dokumentów pakietu Office w czasie wykonywania.

Aby programowo dodać kontrolkę NamedRange do arkusza

  1. W procedurze obsługi zdarzeń Startup wstaw następujący kod, aby dodać kontrolkę NamedRange do komórki A1 i ustawić jej Value2Sheet1właściwość naHello world!

    Microsoft.Office.Tools.Excel.NamedRange textInCell;
    textInCell = this.Controls.AddNamedRange(this.get_Range("A1"), "cellText");
    
    textInCell.Value2 = "Hello world!";
    

Dodawanie kontrolek NamedRange w czasie wykonywania w projekcie dodatku VSTO

Kontrolkę NamedRange można dodać programowo do dowolnego otwartego arkusza w projekcie dodatku VSTO. Dynamicznie tworzone nazwane zakresy nie są utrwalane w arkuszu jako kontrolki hosta po zamknięciu arkusza. Aby uzyskać więcej informacji, zobacz Rozszerzanie dokumentów programu Word i skoroszytów programu Excel w dodatku VSTO w czasie wykonywania.

Aby programowo dodać kontrolkę NamedRange do arkusza

  1. Poniższy kod generuje element hosta arkusza oparty na otwartym arkuszu, a następnie dodaje kontrolkę NamedRange do komórki A1 i ustawia jej Value2 właściwość na Hello world.

    private void AddNamedRange()
    {
        Microsoft.Office.Tools.Excel.NamedRange textInCell;
    
        Worksheet worksheet = Globals.Factory.GetVstoObject(
            Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets[1]);
    
    
        Excel.Range cell = worksheet.Range["A1"]; 
        textInCell = worksheet.Controls.AddNamedRange(cell, "MyNamedRange");
        textInCell.Value2 = "Hello World";
     }