Aracılığıyla paylaş


İzlenecek Yol: Şerit Denetimlerini Çalışma Zamanında Güncelleme

Bu izlenecek yol, Şerit, Office uygulamasına yüklendikten sonra Şerit denetimlerini güncellemek için Şerit nesne modelinin nasıl kullanılacağını gösterir.

Uygulama alanı: Bu konudaki bilgiler şu uygulamaların belge düzeyi projelerine ve uygulama düzeyi projelerine yöneliktir: Excel 2007 ve Excel 2010; InfoPath 2007 ve InfoPath 2010; Outlook 2007 ve Outlook 2010; PowerPoint 2007 ve PowerPoint 2010; Project 2010; Visio 2010; Word 2007 ve Word 2010. Daha fazla bilgi için bkz. Office Uygulamalarında Kullanılabilir Özellikler ve Proje Türü.

Bu örnek Microsoft Office Outlook birleşik giriş kutusu ve menüsünü doldurmak için Northwind örnek veritabanından veri çeker. Bu denetimlerde seçtiğiniz öğeler e-posta iletisinin To ve Subject gibi alanlarına otomatik olarak doldurulur.

Bu izlenecek yol aşağıdaki görevleri gösterir:

  • Yeni Outlook eklenti projesi oluşturma.

  • Özel Şerit grubu tasarlama.

  • Özel grubu yapılandırma sekmesine ekleme.

  • Şerit denetimlerini çalışma zamanında güncelleme.

Not

Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Bu öğeleri bilgisayarınızdaki Visual Studio sürümü ve kullandığınız ayarlar belirler. Daha fazla bilgi için bkz. Ayarlar ile çalışma.

Önkoşullar

Bu örneği tamamlamak için aşağıdaki bileşenler gerekmektedir:

-

Microsoft Office geliştirici araçlarını içeren bir Visual Studio 2010 sürümü. Daha fazla bilgi için bkz: [Office Çözümeri Geliştirmek İçin Bilgisayarı Yapılandırma](bb398242\(v=vs.100\).md).
  • Microsoft Office Outlook 2007 veyaMicrosoft Outlook 2010 

Yeni Outlook Eklenti Projesi Oluşturma

Önce Outlook eklenti projesi oluşturun.

Yeni Outlook eklenti projesi oluşturmak için

  1. De Visual Studio, bir Outlook 2007 oluşturmak veya Outlook 2010 eklenti projesi adıyla Ribbon_Update_At_Runtime.

  2. Yeni Proje iletişim kutusunda Çözüm için Dizin Oluştur'u şeçin.

  3. Projeyi varsayılan proje dizinine kaydedin.

    Daha fazla bilgi için bkz. Nasıl Yapılır: Visual Studio'da Office Projeleri Oluşturma.

Özel Şerit Grubu Tasarlama

Kullanıcı yeni bir posta mesajı yazdığında bu örnek için Şerit belirecektir. Şerite özel bir grup oluşturmak için projenize önce bir Şerit öğesi ekleyin ve sonra bu grubu Şerit Tasarımcısında tasarlayın. Bu özel grup veri tabanından isimleri ve sipariş geçmişlerini çekerek müşteriler için takip e-posta iletisi oluşturmanıza yardımcı olur.

Özel bir grup tasarlamak için

  1. Proje menüsünde, Yeni Öge Ekle'ye tıklayın.

  2. Yeni Öge Ekle iletişim kutusunda, Şerit (Görsel Tasarımcı)'yı seçin.

  3. Yeni Şerit'in adını CustomerRibbon olarak değiştirin ve sonra Add'e tıklayın.

    CustomerRibbon.cs ya da CustomerRibbon.vb dosyası Şerit Tasarımcısı'nda açılır ve varsayılan bir sekme ve grup görüntüler.

  4. Seçmek için Şerit Tasarımcı'sına tıklayın.

  5. Properties penceresinde RibbonType özelliğinin yanındaki açılır oku ve sonra Microsoft.Outlook.Mail.Compose'u tıklayın.

    Bu, kullanıcı Outlook'ta yeni bir posta mesajı yazdığında Şerit'i etkinleştirir.

  6. Seçmek için Şerit Tasarımcı'sında Group1'ı tıklayın.

  7. De Özellikler penceresinde, Etiket müşteri Satınalmalar için.

  8. Toolbox'ın Office Ribbon Controls sekmesinden ComboBoxMüşteri Harcamaları grubuna sürükleyin.

  9. Seçmek için ComboBox1'ı seçin.

  10. De Özellikler penceresinde, Etiket müşterilere.

  11. Toolbox'ın Office Ribbon Controls sekmesinden Menü'yü Müşteri Harcamaları grubuna sürükleyin.

  12. De Özellikler penceresinde, Etiket için ürün satın.

  13. Dynamic'i true olarak ayarlayın.

    Bu, Şerit Office uygulamasına yüklendikten sonra çalışma zamanında menüye denetim eklemenizi veya menüden denetim çıkarmanızı sağlar.

Özel Grubu Yapılandırma Sekmesine Ekleme

Yapılandırma sekmesi Outlook Explorer veya Inspector Şeridinde önceden bulunan bir sekmedir. Bu yordamda özel grubu bir yapılandırma sekmesine ekleyecesiniz ve sonra bu özel grubun sekmedeki konumunu beliryeceksiniz.

Özel grubu yapılandırma sekmesine eklemek için

  1. Seçmek için TabAddins (Built-In) sekmesine tıklayın.

  2. De Özellikler penceresinde, genişletme ControlID özelliği ve ardından OfficeId TabNewMailMessage için.

    Bu, yeni posta iletisinde görünen Şerit'in Müşteri Harcamaları grubunu Messages sekmesine ekler.

  3. Seçmek için Müşteri Harcamaları grubuna tıklayın.

  4. Properties penceresinde Position özelliğini genişletin, PositionType özelliğinin yanındaki açılır oku ve daha sonra BeforeOfficeId'yi tıklayın.

  5. Set OfficeId GroupClipBoard özelliği.

    Bu, Müşteri Harcamaları grubunu Messages sekmesinin Pano grubundan önce konumlandırır.

Veri Kaynağı Oluşturma

Projenize yazılmış veri kümesi eklemek için Veri Kaynağı penceresini kullanın.

Veri kaynağı oluşturmak için

  1. Data menüsünden Yeni Veri Kaynağı Ekle'yi tıklayın.

    Veri Kaynağı Yapılandırma Sihirbaz'ını başlatır.

  2. Veritabanı'nı seçin ve sonra İleri'yi tıklayın.

  3. Veri Kümesi'ni seçin ve sonra İleri'yi tıklayın.

  4. Microsoft SQL Server Compact 3.5 Northwind örnek veri tabanına bir veri bağlantısı seçin veya New Connection düğmesini kullanarak yeni bir bağlantı ekleyin.

  5. Bağlantı seçildikten veya oluşturulduktan sonra İleri'yi tıklayın.

  6. Bağlantı dizesini kaydetmek için İleri'yi tıklayın.

  7. Veritabanı Nesnenizi Seçin sayfasında Tables'ı genişletin.

  8. Aşağıdaki her tablonun yanındaki onay kutusunu seçin:

    1. Müşteriler

    2. Sipariş Detayları

    3. Siparişler

    4. Ürünler

  9. Son düğmesini tıklatın.

Özel Grup Denetimlerini Çalışma Zamanında Güncelleme

Aşağıdaki görevleri gerçekleştirmek için Şerit nesne modelini kullanın:

  • Müşteri isimlerini Müşteriler birleşik giriş kutusuna ekleyin.

  • Menü ve düğme kontrollerini, satış siparişlerini ve satılan ürünleri gösteren Satın Alınan Ürünler menüsüne ekleyin.

  • Müşteriler birleşik giriş kutusu ve Satın Alınan Ürünler menüsünden verileri kullanarak yeni posta iletisinin To, Subject ve Body alanlarını doldurun.

Şerit nesne modelini kullanarak özel grup denetimlerini güncellemek için

  1. Project (Proje) menüsünde, Add Reference'ı (Başvuru Ekle) tıklatın.

  2. Add Reference iletişim kutusunda .NET sekmesine tıklayın ve System.Data.Linq derleyicisini seçin ve sonra Tamam'ı tıklayın.

    Bu derleyici Dil İle Tümleşik Sorgular'ı (LINQ) kullanmak için gereken sınıfları içerir. Özel grup denetimlerini Northwind veri tabanından veri ile doldurmak için LINQ kullanacaksınız.

  3. Seçmek için Çözüm Gezgini'nde CustomerRibbon.cs veya CustomerRibbon.vb'ye tıklayın.

  4. View menüsünde Code'u tıklayın.

    Şerit kod dosyası Kod Düzenleyici'sinde açılır.

  5. Şerit kod dosyanın en üstüne aşağıdaki deyimleri ekleyin. Bu deyimler LINQ isim uzayına ve Outlook birincil birlikte çalışma derlemesine (PIA) kolay erişim sağlar.

    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.NorthwindDataSetTableAdapters
    
    using System.Data.Linq;
    using System.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.NorthwindDataSetTableAdapters;
    
  6. Aşağıdaki kodu CustomerRibbon sınıfına ekleyin. Bu kod, Northwind veri tabanının Müşteri, Siparişler, Sipariş Detayları ve Ürün tablolarından bilgi yüklemek için kullanacağınız veri tablolarını ve tablo bağdaştırıcılarını bildirir.

        'Declare the Northwind data set.
    
        Dim nwDataSet As NorthwindDataSet = New NorthwindDataSet()
    
        'Declare the data tables.
    
        Dim customerTable As NorthwindDataSet.CustomersDataTable
        Dim orderTable As NorthwindDataSet.OrdersDataTable
        Dim orderDetailsTable As NorthwindDataSet.Order_DetailsDataTable
        Dim productsTable As NorthwindDataSet.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.
    NorthwindDataSet nwDataSet = new NorthwindDataSet();
    
    //Declare the data tables.
    
    NorthwindDataSet.CustomersDataTable customerTable;
    NorthwindDataSet.OrdersDataTable orderTable;
    NorthwindDataSet.Order_DetailsDataTable orderDetailsTable;
    NorthwindDataSet.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. Aşağıdaki kod bloklarından birini CustomerRibbon sınıfına ekleyin. Bu kod Şerit'in çalışma zamanında denetim oluşturması için üç tane yardımcı yöntem ekler.

    Proje hedeflerinizi .NET Framework 4, ekleme aşağıdaki kod. 

    
    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;
    }
    

    Eğer projeniz .NET Framework 3.5'u hedefliyorsa aşağıdaki kodu ekleyin.

    
    Private Function CreateRibbonDropDownItem() As RibbonDropDownItem
        Return New RibbonDropDownItem()
    End Function
    
    Private Function CreateRibbonMenu() As RibbonMenu
        Return New RibbonMenu()
    End Function
    
    Private Function CreateRibbonButton() As RibbonButton
        Dim button As RibbonButton = New RibbonButton()
        AddHandler (button.Click), AddressOf Button_Click
        Return button
    End Function
    
    private RibbonDropDownItem CreateRibbonDropDownItem()
    {
        return new RibbonDropDownItem();
    }
    private RibbonMenu CreateRibbonMenu()
    {
        return new RibbonMenu();
    }
    private RibbonButton CreateRibbonButton()
    {
        RibbonButton button = new RibbonButton();
        button.Click += new EventHandler<RibbonControlEventArgs>(button_Click);
        return button;
    }
    
  8. CustomerRibbon_Load olay işleyicisi yöntemini aşağıdaki kod ile değiştirin. Bu kod aşağıdaki görevleri gerçekleştirmek için LINQ sorgusu kullanır:

    • Müşteriler birleşik giriş kutusunu Northwind veri tabanındaki 20 müşterinin isim ve kimlik numarasını kullanarak doldurun.

    • PopulateSalesOrderInfo yardımcı yöntemini çağırır. Bu yöntem mevcut seçilmiş müşteriye ait olan sipariş satış numalarının olduğu AlınanÜrünler menüsünü günceller.

        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. Aşağıdaki kodu CustomerRibbon sınıfına ekleyin. Bu kod aşağıdaki görevleri gerçekleştirmek için LINQ sorgularını kullanır:

    • Şeçili müşteriyle ilgili her satış siparişi için AlınanÜrünler menüsüne basamaklı bir menü ekler.

    • İlgili satış sipariş ürünleri için her basamaklı menüye düğmeler ekler.

    • Her düğmeye olay işleyicisi ekler.

    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. Çözüm Gezgini'nde Şerit kod dosyasına çift tıklayın.

    Şerit Tasarımcı'sı açılır.

  11. Şerit Tasarımcı'sında Müşteriler birleşik girdi kutusuna çift tıklayın.

    Şerit kod dosyası Kod Düzenleyici'sinde açılır ve ComboBox1_TextChanged olay işleyicisi gözükür.

  12. ComboBox1_TextChanged olay işleyicisini aşağıdaki kod ile değiştirin. Bu kod aşağıdaki görevleri gerçekleştirir:

    • PopulateSalesOrderInfo yardımcı yöntemini çağırır. Bu yöntem mevcut seçilmiş müşteriyle ilgili sipariş satış numalarının olduğu AlınanÜrünler menüsünü günceller.

    • PopulateMailItem yardımcı yöntemini çağırır ve müşteri isminin seçildiği mevcut metne geçirir. Bu yöntem yeni posta iletisinin To, Subject ve Body alanlarını doldurur.

    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. Aşağıdaki Click olay işleyicisini CustomerRibbon sınıfına ekleyin: Bu kod, seçilmiş ürünlerin adını yeni posta iletisinin Body alanına ekler.

    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. Aşağıdaki kodu CustomerRibbon sınıfına ekleyin. Bu kod aşağıdaki görevleri gerçekleştirir:

    • Yeni posta iletisinin To satırını o anki seçilmiş müşterinin e-posta adresini kullanarak doldurur.

    • Metni yeni posta iletisinin Subject ve Body alanlarına ekler.

    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: ";
    }
    

Özel Grup Denetimlerini Test Etme

Outlook'ta yeni bir ileti formu açtığınızda Müşteri Harcamaları olarak adlandırılmış özel grup Şerit'in Messages sekmesinde belirir.

Müşteri takip e-posta iletisi oluşturmak için bir müşteri seçin ve sonra bu müşteri tarafından alınan ürünleri seçin. Müşteri Harcamaları grup denetimleri Northwind veri tabanından gelen veriler ile çalışma anında güncellenir.

Özel grup denetimlerini test etmek için

  1. F5 tuşuna basarak projeyi çalıştırın.

    Outlook başlatılır.

  2. Outlook Dosya menüsünde Yeni'nin üzerine gelin ve Posta İletisi'ni tıklayın.

    Aşağıdaki eylemler gerçekleşir:

    • Yeni bir posta iletisi Inspector penceresi belirir.

    • Şerit Message sekmesinde, Müşteri Harcamaları grubu Pano grubundan önce belirir.

    • Gruptaki Müşteriler birleşik giriş kutusu, Northwind veri tabanındaki müşterilerin isimleriyle güncellenir.

  3. Şerit Message sekmesinde, Müşteri Harcamaları grubu Müşteriler birleşik giriş kutusundan bir müşteri seçin.

    Aşağıdaki eylemler gerçekleşir:

    • Seçili müşterinin her satış siparişini göstermek için Alınan Ürünler menüsü güncellenir.

    • Her satış siparişi alt menüsü ürünlerin alış sırasını göstermek için güncellenir.

    • Seçilen müşterinin e-posta adresi, posta iletisinin To satırına eklenir ve posta iletisinin konu ve gövde kısımları metin ile doldurulur.

  4. Alınan Ürünler menüsüne tıklayın, herhangi bir satış siparişini işaret edin ve bu satış siparişinden bir ürüne tıklayın.

    Ürün adı posta iletisinin gövdesine eklenir.

Sonraki Adımlar

Aşağıdaki konulardan Office KA'nü nasıl özelleştireceğiniz hakkında daha fazla bilgi alabilirsiniz:

Ayrıca bkz.

Görevler

Nasıl Yapılır: Şeriti Özelleştirmeye Başlama

İzlenecek Yol: Şerit Tasarımcısını Kullanarak Özel Sekme Oluşturma

Nasıl Yapılır: Şeritteki Sekmelerin Düzenini Değiştirmek

Nasıl Yapılır: Yerleşik Bir Sekmeyi Özelleştirme

Nasıl Yapılır: Microsoft Office Menüsünü Özelleştirme

Nasıl Yapılır: Şerit XML'ine Şerit Tasarımcısından Şerit Verme

Nasıl Yapılır: Eklenti Kullanıcı Arayüzü Hatalarını Gösterme

Kavramlar

Çalıştırma Zamanında Şerite Erişme

Şerit Tasarımcısı

Şerit Nesne Modeline Genel Bakış

Outlook için Şerit'i Özelleştirme

Diğer Kaynaklar

Şerite Genel Bakış

Dil İle Tümleşik Sorgu (LINQ)