Udostępnij za pośrednictwem


Dodawanie kontrolek ListObject do arkuszy

Kontrolki można dodawać ListObject 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ć ListObject w czasie wykonywania w projektach dodatków VSTO.

W tym temacie opisano następujące zadania:

Dodawanie kontrolek ListObject w czasie projektowania

Istnieje kilka sposobów dodawania ListObject 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 użyć wstążki w programie Excel

  1. Na karcie Wstawianie w grupie Tabele kliknij pozycję Tabela.

  2. Zaznacz komórkę lub komórki, które chcesz uwzględnić na liście, a następnie kliknij przycisk OK.

Aby użyć przybornika

  1. Na karcie Kontrolki programu Excel przybornika przeciągnij element ListObject do arkusza.

    Zostanie wyświetlone okno dialogowe Dodawanie kontrolki ListObject.

  2. Zaznacz komórkę lub komórki, które chcesz uwzględnić na liście, a następnie kliknij przycisk OK.

    Jeśli nie chcesz zachować nazwy domyślnej, możesz zmienić nazwę w oknie Właściwości .

Aby użyć 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 tabelę z okna Źródła danych do arkusza.

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

Dodawanie kontrolek ListObject w czasie wykonywania w projekcie na poziomie dokumentu

Kontrolkę ListObject można dodać dynamicznie w czasie wykonywania. Dzięki temu można utworzyć kontrolki hosta w odpowiedzi na zdarzenia. Dynamicznie tworzone obiekty listy 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ę ListObject do arkusza

  1. W procedurze obsługi zdarzeń Startup wstaw następujący kod, aby dodać kontrolkę ListObject do komórek od A1 do A4.Sheet1

    Microsoft.Office.Tools.Excel.ListObject employeeData;
    employeeData = this.Controls.AddListObject(this.get_Range("$A$1:$D$4"), "employees");
    

Dodawanie kontrolek ListObject w czasie wykonywania w projekcie dodatku VSTO

Kontrolkę ListObject można dodać programowo do dowolnego otwartego arkusza w projekcie dodatku VSTO. Dynamicznie tworzone obiekty listy nie są utrwalane w arkuszu jako kontrolki hosta podczas zapisywania arkusza, a następnie zamykane. 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ę ListObject do arkusza

  1. Poniższy kod generuje element hosta arkusza oparty na otwartym arkuszu, a następnie dodaje kontrolkę ListObject do komórek A1 do A4.

    private void AddListObject()
    {
        Worksheet worksheet = Globals.Factory.GetVstoObject(
            Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets[1]);
    
        Microsoft.Office.Tools.Excel.ListObject list1;
        Excel.Range cell = worksheet.Range["$A$1:$D$4"];
        list1 = worksheet.Controls.AddListObject(cell, "list1");
    }