Wskazówki: aktualizowanie formantów na wstążce w czasie wykonywania

W tym instruktażu przedstawiono sposób użycia modelu wstążki do aktualizacji formantów na Wstążce po Wstążka jest ładowany do aplikacji pakietu Office.

Zastosowanie: Informacje przedstawione w tym temacie mają zastosowanie do projektów na poziomie dokumentu i aplikacji dla następujących aplikacji: Excel 2013 i Excel 2010; InfoPath 2013 i InfoPath 2010; Outlook 2013 i Outlook 2010; PowerPoint 2013 i PowerPoint 2010; Project 2013 i Project 2010; Visio 2013 i Visio 2010; Word 2013 i Word 2010. Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacjach pakietu Office i typ projektu.

Przykład ściąga dane z przykładowej bazy danych Northwind do wypełniania pola kombi i menu w Microsoft Office Outlook.Elementy, które wybrać w tych formantach automatycznie wypełnić pola takie jak do i temat w wiadomości e-mail.

W tym instruktażu przedstawiono następujące zadania:

  • Tworzenie nowego dodatek programu Outlook projektu.

  • Projektowanie niestandardowych grupa wstążki.

  • Dodawanie grupy niestandardowej do karty wbudowanej.

  • Aktualizacja formantów na Wstążce w czasie wykonywania.

[!UWAGA]

Komputer może pokazać różne nazwy lub lokalizacje dla niektórych użytkowników programu Visual Studio elementów interfejsu w poniższych instrukcji.Wydanie programu Visual Studio, że masz i ustawienia, które możesz używać określenia tych elementów.Aby uzyskać więcej informacji, zobacz Dostosowywanie ustawień środowiska deweloperskiego w Visual Studio.

Wymagania wstępne

Potrzebne do przeprowadzenia tego instruktażu następujące składniki:

Tworzenie nowego programu Outlook dodatek projektu

Najpierw należy utworzyć dodatek programu Outlook projektu.

Aby utworzyć nowy dodatek programu Outlook projekt

  1. W Visual Studio, tworzenie Outlook 2010 lub Outlook 2013 -w projekcie o nazwie Ribbon_Update_At_Runtime.

  2. W Nowy projekt okno dialogowe, wybierz Utwórz katalog rozwiązania.

  3. Zapisz projekt do domyślnego katalogu projektu.

    Aby uzyskać więcej informacji, zobacz Porady: tworzenie projektów Office w Visual Studio.

Projektowanie grupy niestandardowe wstążki

Wstążki, na przykład pojawi się, gdy użytkownik redaguje nową wiadomość e-mail.Aby utworzyć grupę niestandardową na Wstążce, najpierw Dodaj element wstążki do projektu, a następnie zaprojektować grupy projektanta wstążki.Tej grupy niestandardowej pomoże generowanie wiadomości e-mail uzupełniającego klientom poprzez pociągnięcie nazwy i zamówić historie z bazy danych.

Aby zaprojektować grupy niestandardowej

  1. Na Projekt menu, kliknij przycisk Dodaj nowy element.

  2. W Dodaj nowy element okno dialogowe, wybierz wstążki (Visual Designer).

  3. Zmień nazwę nowej taśmy do CustomerRibbon, a następnie kliknij przycisk Dodaj.

    CustomerRibbon.cs lub CustomerRibbon.vb plik zostanie otwarty w Projektancie Wstążki i wyświetla domyślną kartę i grupy.

  4. Kliknij projektanta wstążki, aby go zaznaczyć.

  5. W Właściwości okno, kliknij strzałkę rozwijaną obok RibbonType właściwość, a następnie kliknij przycisk Microsoft.Outlook.Mail.Compose.

    Dzięki temu wstążki do stawienia się, gdy użytkownik redaguje nową wiadomość e-mail w programie Outlook.

  6. W Projektancie Wstążki kliknij grupa1 , aby go zaznaczyć.

  7. W Właściwości okno, ustawić etykiety zakupy klientów.

  8. Z Formanty wstążki Office karta Przybornik, przeciągnij ComboBox na Zakupy klientów grupy.

  9. Kliknij przycisk ComboBox1 , aby go zaznaczyć.

  10. W Właściwości okno, ustawić etykiety do klientów.

  11. Z Formanty wstążki Office karta Przybornik, przeciągnij Menu na Zakupy klientów grupy.

  12. W Właściwości okno, ustawić etykiety do zakupionych produktów.

  13. Set Dynamic to true.

    Dzięki temu można dodawać i usuwać formanty, w menu w czasie wykonywania po Wstążka jest ładowany do aplikacji pakietu Office.

Dodawanie grupy niestandardowe do karty wbudowanej

Wbudowane karty jest karta, która jest już na wstążce programu Outlook, Eksploratora lub Inspektora.W tej procedurze będzie dodać grupy niestandardowej do wbudowanej karty, a następnie określ położenie grupy niestandardowej na karcie.

Aby dodać grupy niestandardowej do karty wbudowanej

  1. Kliknij przycisk TabAddins (wbudowany) , aby go zaznaczyć.

  2. W Właściwości okna, rozwiń węzeł Właściwości ControlId właściwość, a następnie ustawić OfficeId do TabNewMailMessage.

    Spowoduje to dodanie Zakupy klientów do grupy wiadomości karty wstążki, który pojawia się w nowej wiadomości poczty.

  3. Kliknij przycisk Zakupy klientów grupy, aby go zaznaczyć.

  4. W Właściwości okna, rozwiń węzeł pozycji właściwość, kliknij strzałkę rozwijaną obok PositionType właściwość, a następnie kliknij przycisk BeforeOfficeId.

  5. Zestaw OfficeId właściwość do GroupClipboard.

    Tej pozycji Zakupy klientów grupy przed Schowka grupy wiadomości kartę.

Tworzenie źródła danych

Użycie Źródła danych okno umożliwiające dodanie zestawu danych wpisywanych do projektu.

Aby utworzyć źródło danych

  1. Na danych menu, kliknij przycisk Dodać nowe źródło danych.

    Uruchomiony zostanie program Kreatora konfiguracji źródła danych.

  2. Wybierz bazy danych, a następnie kliknij przycisk Dalej.

  3. Wybierz zestawu danych, a następnie kliknij przycisk Dalej.

  4. Wybierz połączenie danych z Microsoft SQL Server Compact 4.0 bazie danych Northwind, lub dodać nowe połączenie za pomocą Nowego połączenia przycisk.

  5. Po zostało wybrane lub utworzone połączenie, kliknij przycisk Dalej.

  6. Kliknij przycisk Dalej zapisać ciąg połączenia.

  7. Na Wybierz obiekty bazy danych użytkownika strony, rozwiń węzeł tabele.

  8. Zaznacz pole wyboru obok każdego z następujących tabel:

    1. Klienci

    2. Szczegóły zamówienia

    3. Zamówienia

    4. Produkty

  9. Kliknij przycisk wykończenie.

Aktualizacja formantów w grupy niestandardowe, w czasie wykonywania

Modelu Wstążka umożliwia wykonywanie następujących zadań:

  • Dodaj nazwy klienta do Klienci polu kombi.

  • Dodawanie formantów menu i przycisku do Produkty zakupione menu, które reprezentują zamówień sprzedaży i produktów sprzedawanych.

  • Wypełnić To, Subject, i Body pól w nowej wiadomości e-mail przy użyciu danych z Klienci pole kombi i Produkty zakupione menu.

Do aktualizacji formantów w grupie niestandardowej przy użyciu modelu obiektowego wstążki

  1. Na Projekt menu, kliknij przycisk Dodaj odwołanie.

  2. W Dodaj odwołanie okno dialogowe, kliknij przycisk .NET kartę, a następnie kliknij polecenie Wybierz System.Data.Linq zestawu, a następnie kliknij przycisk OK.

    Ten zestaw zawiera klasy za pomocą kwerendy Language-Integrated (LINQ).LINQ będzie używany do wypełniania formantów w grupie niestandardowej z danymi z bazy danych Northwind.

  3. W Solution Explorer, kliknij CustomerRibbon.cs lub CustomerRibbon.vb , aby go zaznaczyć.

  4. Na Widok menu, kliknij przycisk Kod.

    Plik kod wstążki zostanie otwarty w edytorze kodu.

  5. Dodaj następujące instrukcje do początku pliku kodu wstążki.Instrukcje te zapewniają łatwy dostęp do obszarów nazw LINQ i obszaru nazw Outlook podstawowy zestaw międzyoperacyjny (PIA).

    Imports System.Data.Linq
    Imports System.Linq
    Imports System.Data.Linq.Mapping
    Imports System.Linq.Expressions
    Imports Outlook = Microsoft.Office.Interop.Outlook
    Imports Ribbon_Update_At_Runtime.Northwind40DataSetTableAdapters
    
    using System.Data.Linq;
    using System.Data.Linq.Mapping;
    using System.Linq.Expressions;
    using Outlook = Microsoft.Office.Interop.Outlook;
    using System.Data;
    using System.IO;
    using Ribbon_Update_At_Runtime.Northwind40DataSetTableAdapters;
    
  6. Dodaj następujący kod wewnątrz klasy CustomerRibbon.Ten kod deklaruje tabeli danych i tabeli kart, które będą używane do przechowywania informacji od klienta, zamówienia, szczegóły zamówienia i tabele produktów w bazie danych Northwind.

        'Declare the Northwind data set. 
    
        Dim nwDataSet As Northwind40DataSet = New Northwind40DataSet()
    
        'Declare the data tables. 
    
        Dim customerTable As Northwind40DataSet.CustomersDataTable
        Dim orderTable As Northwind40DataSet.OrdersDataTable
        Dim orderDetailsTable As Northwind40DataSet.Order_DetailsDataTable
        Dim productsTable As Northwind40DataSet.ProductsDataTable
    
        'Declare the data table adapters for each table. 
    
        Dim customersTableAdapter As CustomersTableAdapter = New CustomersTableAdapter()
        Dim ordersTableAdapter As OrdersTableAdapter = New OrdersTableAdapter()
        Dim detailsTableAdapter As Order_DetailsTableAdapter = New Order_DetailsTableAdapter()
        Dim productsTableAdapter As ProductsTableAdapter = New ProductsTableAdapter()
    
    //Declare the Northwind dataset.
    Northwind40DataSet nwDataSet = new Northwind40DataSet();
    
    //Declare the data tables.
    
    Northwind40DataSet.CustomersDataTable customerTable;
    Northwind40DataSet.OrdersDataTable orderTable;
    Northwind40DataSet.Order_DetailsDataTable orderDetailsTable;
    Northwind40DataSet.ProductsDataTable productsTable;
    
    //Declare the data table adapters for each table.
    
    CustomersTableAdapter customerTableAdapter = new CustomersTableAdapter();
    OrdersTableAdapter ordersTableAdapter = new OrdersTableAdapter();
    Order_DetailsTableAdapter detailsTableAdapter = new Order_DetailsTableAdapter();
    ProductsTableAdapter productsTableAdapter = new ProductsTableAdapter();
    
  7. Dodaj następujący blok kodu do CustomerRibbon klasy.Ten kod dodaje trzy metody pomocnika, które tworzą formanty wstążki w czasie wykonywania.

    Private Function CreateRibbonDropDownItem() As RibbonDropDownItem
        Return Me.Factory.CreateRibbonDropDownItem()
    End Function 
    
    Private Function CreateRibbonMenu() As RibbonMenu
        Return Me.Factory.CreateRibbonMenu()
    End Function 
    
    Private Function CreateRibbonButton() As RibbonButton
        Dim button As RibbonButton = Me.Factory.CreateRibbonButton()
        AddHandler (button.Click), AddressOf Button_Click
        Return button
    End Function
    
    private RibbonDropDownItem CreateRibbonDropDownItem()
    {
        return this.Factory.CreateRibbonDropDownItem();
    }
    private RibbonMenu CreateRibbonMenu()
    {
        return this.Factory.CreateRibbonMenu();
    }
    private RibbonButton CreateRibbonButton()
    {
        RibbonButton button = this.Factory.CreateRibbonButton();
        button.Click += new RibbonControlEventHandler(button_Click);
        return button;
    }
    
  8. Zamień CustomerRibbon_Load metoda obsługi zdarzenia z następującego kodu.Ten kod używa programu LINQ do wykonywania następujących zadań:

    • Wypełnić Klienci polu kombi przy użyciu identyfikator i nazwę 20 klientów w bazie danych Northwind.

    • Wywołania PopulateSalesOrderInfo metoda pomocnika.Ta metoda aktualizuje ProductsPurchased menu numer zamówienia sprzedaży, które odnoszą się do aktualnie wybranego odbiorcy.

    Private Sub CustomerRibbon_Load(ByVal sender As System.Object, _
       ByVal e As Microsoft.Office.Tools.Ribbon.RibbonUIEventArgs) _
           Handles MyBase.Load
    
            customerTable = nwDataSet.Customers
            customersTableAdapter.Fill(customerTable)
    
            Dim customerQuery = From customers In customerTable.AsEnumerable.Take(20) _
                    Select CustomerID = customers.Customer_ID, _
                    CustomerName = customers.Contact_Name
    
            ' Execute the query. 
            For Each item In customerQuery
                Me.ComboBox1.Items.Add(CreateRibbonDropDownItem())
    
                Me.ComboBox1.Items.Last().Label = item.CustomerID.ToString() _
                    + "|" + item.CustomerName
            Next item
    
            Me.ComboBox1.Text = Me.ComboBox1.Items.First().Label
            PopulateSalesOrderInfo()
        End Sub
    
    private void CustomerRibbon_Load(object sender, RibbonUIEventArgs e)
    {
        customerTable = nwDataSet.Customers;
        customerTableAdapter.Fill(customerTable);
    
        var customerQuery = from customers in customerTable.AsEnumerable().Take(20)
                            select new
                            {
                                CustomerID = customers.Field<string>("Customer ID"),
                                CustomerName = customers.Field<string>("Contact Name")
                            };
    
    
        // Execute the query. 
        foreach (var item in customerQuery)
        {
            this.comboBox1.Items.Add(CreateRibbonDropDownItem());
            this.comboBox1.Items.Last().Label =
            item.CustomerName + "|" + item.CustomerID.ToString();
        }
        this.comboBox1.Text = this.comboBox1.Items.First().Label;
        PopulateSalesOrderInfo();
    }
    
  9. Dodaj następujący kod do CustomerRibbon klasy.Ten kod używa kwerend LINQ do wykonywania następujących zadań:

    • Dodaje podmenu, aby ProductsPurchased związanych z menu dla każdego zamówienia sprzedaży wybranego odbiorcy.

    • Dodaje przyciski do każdego podmenu dla produktów związanych z zamówieniem sprzedaży.

    • Dodaje Obsługa zdarzeń do każdego przycisku.

    Private Sub PopulateSalesOrderInfo()
    
        Dim tempArray As [String]() = comboBox1.Text.Split(New [Char]() {"|"c})
        Menu1.Items.Clear()
    
        orderTable = nwDataSet.Orders
        orderDetailsTable = nwDataSet.Order_Details
        productsTable = nwDataSet.Products
    
        ordersTableAdapter.Fill(orderTable)
        detailsTableAdapter.Fill(orderDetailsTable)
        productsTableAdapter.Fill(productsTable)
    
        Dim orderQuery = From order In orderTable.AsEnumerable() _
                         Where order.Customer_ID.ToString() = tempArray(0) _
                         Select New With {.SalesOrderID = order.Order_ID}
    
        For Each orderItem In orderQuery
            Me.Menu1.Items.Add(CreateRibbonMenu())
    
            Dim orderMenu As RibbonMenu = CType(Menu1.Items.Last(), RibbonMenu)
            orderMenu.Dynamic = True
            orderMenu.Label = orderItem.SalesOrderID.ToString()
            orderMenu.Tag = orderItem.SalesOrderID
    
            Dim productQuery = From orderDetail In orderDetailsTable.AsEnumerable(), _
                                   product In productsTable.AsEnumerable() _
                               Where orderDetail.Product_ID = _
                                   product.Product_ID _
                               And orderDetail.Order_ID = _
                               orderMenu.Tag _
            Select productName = product.Product_Name
    
            For Each productItem In productQuery
                Dim button As RibbonButton = CreateRibbonButton()
                button.Label = productItem
                orderMenu.Items.Add(button)
            Next productItem
        Next orderItem
    End Sub
    
    private void PopulateSalesOrderInfo()
    {
        String[] tempArray = comboBox1.Text.Split(new Char[] { '|' });
        menu1.Items.Clear();
    
        orderTable = nwDataSet.Orders;
        orderDetailsTable = nwDataSet.Order_Details;
        productsTable = nwDataSet.Products;
    
        ordersTableAdapter.Fill(orderTable);
        detailsTableAdapter.Fill(orderDetailsTable);
        productsTableAdapter.Fill(productsTable);
    
        var orderQuery = from orders in orderTable.AsEnumerable()
                         where orders.Field<string>("Customer ID") == tempArray[1]
                         select new { OrderID = orders.Field<int>("Order ID") };
    
        foreach (var orderItem in orderQuery)
        {
            menu1.Items.Add(CreateRibbonMenu());
    
            RibbonMenu orderMenu = (RibbonMenu)menu1.Items.Last();
            orderMenu.Dynamic = true;
            orderMenu.Label = orderItem.OrderID.ToString();
            orderMenu.Tag = orderItem.OrderID;
    
            var productQuery = from orderDetail in orderDetailsTable.AsEnumerable()
                               join product in productsTable.AsEnumerable() on
                                   orderDetail.Field<int>("Product ID")
                               equals product.Field<int>("Product ID")
                               where orderDetail.Field<int>("Order ID") ==
                                   orderItem.OrderID
                               select new { ProductName = product.Field<string>("Product Name") };
    
            foreach (var productItem in productQuery)
            {
                RibbonButton button = CreateRibbonButton();
                button.Label = productItem.ProductName;
                orderMenu.Items.Add(button);
            }
        }
    }
    
  10. W Solution Explorer, kliknij dwukrotnie plik kodu wstążki.

    Zostanie otwarty projektant wstążki.

  11. W Projektancie wstążki, kliknij dwukrotnie Klienci polu kombi.

    Plik kod wstążki zostanie otwarty w edytorze kodu i ComboBox1_TextChanged programu obsługi zdarzeń jest wyświetlany.

  12. Zamień ComboBox1_TextChanged obsługi zdarzeń z następującego kodu.Ten kod wykonuje następujące zadania:

    • Wywołania PopulateSalesOrderInfo metoda pomocnika.Ta metoda aktualizuje Produkty zakupione menu z zamówień sprzedaży, które odnoszą się do danego odbiorcy.

    • Wywołania PopulateMailItem metoda pomocnika i przechodzi w bieżący tekst, który jest nazwa wybranego odbiorcy.Ta metoda wypełnia To, Subject, i Body pól w nowej wiadomości e-mail.

    Private Sub ComboBox1_TextChanged(ByVal sender As System.Object, _
        ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) _
            Handles ComboBox1.TextChanged
        PopulateSalesOrderInfo()
        PopulateMailItem(ComboBox1.Text)
    End Sub
    
    private void comboBox1_TextChanged(object sender,
        RibbonControlEventArgs e)
    {
        PopulateSalesOrderInfo();
        PopulateMailItem(comboBox1.Text);
    }
    
  13. Dodaj następujące kliknij obsługi zdarzeń do CustomerRibbon klasy.Ten kod dodaje nazwy wybranych produktów do Body pole nowe wiadomości e-mail.

    Private Sub Button_Click(ByVal sender As System.Object, _
        ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs)
        Dim application As Outlook.Application = Globals.ThisAddIn.Application
        Dim inspector As Outlook.Inspector = application.ActiveInspector()
        Dim myMailItem As Outlook.MailItem = CType(inspector.CurrentItem,  _
            Outlook.MailItem)
        Dim myButton As RibbonButton = CType(sender, RibbonButton)
        myMailItem.Subject = "Following up on your order"
        myMailItem.Body = myMailItem.Body + ControlChars.Lf + "* " _
            + myButton.Label
    End Sub
    
    void button_Click(object sender, RibbonControlEventArgs e)
    {
        Outlook.Application application = Globals.ThisAddIn.Application;
        Outlook.Inspector inspector = application.ActiveInspector();
        Outlook.MailItem myMailItem = (Outlook.MailItem)inspector.CurrentItem;
        RibbonButton myCheckBox = (RibbonButton)sender;
        myMailItem.Subject = "Following up on your order";
        myMailItem.Body = myMailItem.Body + "\n" + "* " + myCheckBox.Label;
    }
    
  14. Dodaj następujący kod do CustomerRibbon klasy.Ten kod wykonuje następujące zadania:

    • Wypełnia To linii nowe wiadomości e-mail przy użyciu adresu e-mail aktualnie wybranego odbiorcy.

    • Dodaje tekst do Subject i Body pól w nowej wiadomości e-mail.

    Private Sub PopulateMailItem(ByVal addressToLine As String)
        Dim application As Outlook.Application = Globals.ThisAddIn.Application
        Dim inspector As Outlook.Inspector = application.ActiveInspector()
        Dim myMailItem As Outlook.MailItem = _
            CType(inspector.CurrentItem, Outlook.MailItem)
    
        myMailItem.To = "" 
        Dim tempArray As [String]() = addressToLine.Split(New [Char]() {"|"c})
        myMailItem.To = tempArray(1) + "@example.com"
        myMailItem.Subject = "Following up on your order"
        myMailItem.Body = "Hello " + tempArray(1) + "," _
            + ControlChars.Lf + "We would like to get your feedback" + _
            "on the following products that you recently ordered: " 
    End Sub
    
    private void PopulateMailItem(string addressToLine)
    {
        Outlook.Application application = Globals.ThisAddIn.Application;
        Outlook.Inspector inspector = application.ActiveInspector();
        Outlook.MailItem myMailItem = (Outlook.MailItem)inspector.CurrentItem;
    
        myMailItem.To = "";
        String[] tempArray = addressToLine.Split(new Char[] { '|' });
        myMailItem.To = tempArray[0] + "@example.com";
        myMailItem.Subject = "Following up on your order";
        myMailItem.Body = "Hello " + tempArray[0] + "," +
            "\n" + "We would like to get your feedback on the " +
            "following products that you recently ordered: ";
    }
    

Testowanie formantów w grupy niestandardowe

Po otwarciu nowego formularza poczty w programie Outlook, grupę niestandardową o nazwie Zakupy klientów pojawia się na wiadomości karty wstążki.

Aby utworzyć wiadomość e-mail uzupełniającego klienta, wybierz klienta, a następnie wybierz produktów zakupionych przez klienta.Formanty w Zakupy klientów grupy są aktualizowane w czasie wykonywania za pomocą danych z bazy danych Northwind.

Aby przetestować formanty w grupie niestandardowej

  1. Naciśnij klawisz F5, aby uruchomić projekt.

    Uruchamia program Outlook.

  2. W programie Outlook na pliku menu, wskaż Nowa, a następnie kliknij przycisk Wiadomość pocztowa.

    Wykonywane są następujące akcje:

    • Zostanie wyświetlone okno Inspektora nowej wiadomości poczty.

    • Na wiadomość karty wstążki, Zakupy klientów grupa pojawia się przed Schowka grupy.

    • Klienci polu kombi w grupie jest aktualizowana z nazwami klientów w bazie danych Northwind.

  3. Na wiadomość karty wstążki, w Zakupy klientów grupy, wybierz odbiorcę z Klienci polu kombi.

    Wykonywane są następujące akcje:

    • Produkty zakupione menu jest aktualizowana w celu wyświetlenia każdego zamówienia sprzedaży dla wybranego odbiorcy.

    • Podmenu każdego zamówienia sprzedaży jest aktualizowana w celu wyświetlenia produkty zakupione w tej kolejności.

    • Adres e-mail wybranego odbiorcy jest dodawany do do linii wiadomości pocztowej i temat i treść wiadomości poczty są wypełniane tekstem.

  4. Kliknij przycisk Zakupów produktów menu, wskaż polecenie wszystkie zamówienia sprzedaży, a następnie kliknij produkt z zamówienia sprzedaży.

    Nazwa produktu jest dodawane do treści wiadomości.

Następne kroki

Można uzyskać więcej informacji na temat dostosowywania interfejsu użytkownika pakietu Office z tych tematów:

Zobacz też

Zadania

Porady: wprowadzenie do dostosowywania wstążki

Wskazówki: tworzenie kart niestandardowych za pomocą Projektanta wstążki

Porady: zmiana położenia zakładki na wstążce

Porady: dostosowywanie wbudowanej karty

Porady: dodawanie formantów do widoku zakulisowego

Porady: eksportowanie wstążki z Projektanta wstążki do XML wstążki

Porady: pokazywanie błędów dodatków interfejsu użytkownika

Koncepcje

Uzyskiwanie dostępu do wstążki w czasie wykonywania

Projektant wstążki

Model obiektu Wstążka ― Omówienie

Dostosowywanie Wstążki do programu Outlook

Inne zasoby

Wstążka ― Omówienie

Zintegrowane języka Query (LINQ)