Aracılığıyla paylaş


İzlenecek Yol: Uygulamayı Özel Görev Bölmesinden Otomatikleştirme

Bu anlatım PowerPoint'i otomatikleştiren özel görev bölmesinin nasıl oluşturulduğunu gösterir.Özel görev bölmesi, kullanıcı özel görev bölmesi üzerindeki MonthCalendar denetimini tıklattığında slayta tarihler ekler.

Uygulama hedefi: Bu konudaki bilgiler, Outlook 2013 ve Outlook 2010 için uygulama düzeyi projelere yöneliktir. Daha fazla bilgi edinmek için, bkz. Office Uygulaması ve Proje Türüne Göre Kullanılabilir Özellikler.

Bu yol özellikle PowerPoint kullanıyor olsa da, izlenecek yol tarafından gösterilen kavramlar yukarıda listelenen uygulamaların hepsine uygulanabilir.

Bu örneklerde aşağıdaki görevler gösterilir:

  • Özel görev bölmesinin kullanıcı arayüzünü tasarlama.

  • PowerPoint'i özel görev bölmesinden otomatikleştirme.

  • PowerPoint'de özel görev bölmesini görüntüleme.

[!NOT]

Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arayüzü öğ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. Visual Studio'da Geliştirme Ayarlarını özelleştirme.

Önkoşullar

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

Eklenti Projesi Oluşturma

İlk adım, PowerPoint için bir eklenti projesi oluşturamaktır.

Yeni bir proje oluşturmak için

  • PowerPoint Eklenti projesi şablonunu kullanarak, MyAddIn isimli bir PowerPoint eklenti projesi oluşturun.Daha fazla bilgi için bkz. Nasıl Yapılır: Visual Studio'da Office Projeleri Oluşturma.

    Visual Studio ThisAddIn.cs ya da ThisAddIn.vb kod dosyasını açar ve MyAddIn projesini Çözüm Gezgini'ne ekler.

Özel Görev Bölmesinin Kullanıcı Arayüzünü Tasarlama

Özel görev bölmeleri için görsel tasarımcı yoktur, ancak istediğiniz düzende bir kullanıcı denetimi tasarlayabilirsiniz.İzlenecek bu yolun ilerleyen aşamalarında, özel görev bölmesine kullanıcı denetimi ekleyeceksiniz.

Özel görev bölmesinin kullanıcı arayüzünü tasarlamak için

  1. Proje menüsünde, Kullanıcı Denetimi Ekle'ye tıklayın.

  2. Yeni Öğe Ekle iletişim kutusunda, yeni kullanıcı denetiminin adını MyUserControl olarak değiştirin ve Ekle'ye tıklayın.

    Kullanıcı denetimi tasarımcıda açılır.

  3. Araç Kutusu'nun Genel Denetimler sekmesinden, kullanıcı denetimine bir MonthCalendar denetimi sürükleyin.

    Eğer MonthCalendar denetimi, kullanızı denetiminin tasarım yüzeyinden daha büyükse, kullanıcı denetimini MonthCalendar denetimine sığdırmak için yeniden boyutlandırın.

PowerPoint'i Özel Görev Bölmesinden Otomatikleştirme.

Eklentinin amacı, etkin sununun ilk slaytına seçili tarihi koymaktır.Seçilen tarihi, değiştiği zaman eklemek için denetimin DateChanged olayını kullanın.

PowerPoint'i özel görev bölmesinden otomatikleştirmek için

  1. Tasarımcıda MonthCalendar denetimini çift tıklayın.

    MyUserControl.cs veya MyUserControl.vb dosyası açılır ve DateChanged olayı için olay işleyicisi oluşturulur.

  2. Aşağıdaki kodu, dosyanın en üstüne ekleyin.Bu kod Microsoft.Office.Core ve Microsoft.Office.Interop.PowerPoint isim uzayları için diğer adlar oluşturur.

    Imports Office = Microsoft.Office.Core
    Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
    
    using Office = Microsoft.Office.Core;
    using PowerPoint = Microsoft.Office.Interop.PowerPoint;
    
  3. Aşağıdaki kodu MyUserControl sınıfına ekleyin.Bu kod bildirir bir Shape nesnesinin bir üyesi olarak MyUserControl.Aşağıdaki adımda, bu Shape'i etkin sunudaki bir slayta metin kutusu eklemek için kullanacaksınız.

    Private TextBox As PowerPoint.Shape
    
    private PowerPoint.Shape textbox;
    
  4. monthCalendar1_DateChanged olay işleyicisini aşağıdaki kod ile değiştirin.Bu kod, etkin belgedeki ilk slayta metin kutusu ekler ve metin kutusune yeni seçilmiş tarihi ekler.Bu kod, PowerPoint'in nesne modeline erişmek için Globals.ThisAddIn nesnesini kullanır.

    Private Sub MonthCalendar1_DateChanged( _
        ByVal sender As System.Object, _
        ByVal e As System.Windows.Forms.DateRangeEventArgs) _
        Handles MonthCalendar1.DateChanged
    
        Try 
            If TextBox IsNot Nothing Then
                TextBox.Delete()
            End If 
    
            Dim Slide As PowerPoint.Slide
            Slide = Globals.ThisAddIn.Application.ActivePresentation.Slides(1)
            TextBox = Slide.Shapes.AddTextbox( _
                Office.MsoTextOrientation.msoTextOrientationHorizontal, _
                50, 100, 600, 50)
            TextBox.TextFrame.TextRange.Text = e.Start.ToLongDateString()
            TextBox.TextFrame.TextRange.Font.Size = 48
            TextBox.TextFrame.TextRange.Font.Color.RGB = _
                System.Drawing.Color.DarkViolet.ToArgb()
    
        Catch ex As Exception
            System.Windows.Forms.MessageBox.Show(ex.ToString())
        End Try 
    End Sub
    
    private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
    {
        try
        {
            if (textbox != null)
            {
                textbox.Delete();
            }
    
            PowerPoint.Slide slide =
                Globals.ThisAddIn.Application.ActivePresentation.Slides[1];
            textbox = slide.Shapes.AddTextbox(
                Office.MsoTextOrientation.msoTextOrientationHorizontal,
                50, 100, 600, 50);
            textbox.TextFrame.TextRange.Text = e.Start.ToLongDateString();
            textbox.TextFrame.TextRange.Font.Size = 48;
            textbox.TextFrame.TextRange.Font.Color.RGB =
                 Color.DarkViolet.ToArgb();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }
    
  5. Çözüm Gezgini'nde, MyAddIn projesine sağ tıklayın ve sonra Derle'ye tıklayın.Projenin hatasız oluşturulduğunu doğrulayın.

Özel Görev Bölmesi Görüntüleme

Eklenti başladığında özel görev bölmesi görüntülemek için, eklentinin Startup olay işleyicisinde görev bölmesine kullanıcı denetimini ekleyin.

Özel görev bölmesi görüntülemek için

  1. Çözüm Gezgini'nde PowerPoint'i genişletin.

  2. ThisAddIn.cs ya da ThisAddIn.vb'ye sağ tıklayın ve Kodu Görüntüle'ye tıklayın.

  3. Aşağıdaki kodu ThisAddIn sınıfına ekleyin.Bu kod, MyUserControl veya CustomTaskPane'in örneklerini ThisAddIn sınıfının üyeleri olarak bildirir.

    Private myUserControl1 As MyUserControl
    Private myCustomTaskPane As Microsoft.Office.Tools.CustomTaskPane
    
    private MyUserControl myUserControl1;
    private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;
    
  4. ThisAddIn_Startup olay işleyicisini aşağıdaki kod ile değiştirin.Bu kod, MyUserControl nesnesini CustomTaskPanes koleksiyonuna ekleyerek yeni bir CustomTaskPane oluşturur.Kod ayrıca görev bölmesini görüntüler.

    Private Sub ThisAddIn_Startup(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles Me.Startup
    
        myUserControl1 = New MyUserControl
        myCustomTaskPane = Me.CustomTaskPanes.Add(myUserControl1, "Calendar")
        myCustomTaskPane.Visible = True 
    End Sub
    
    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        myUserControl1 = new MyUserControl();
        myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "Calendar");
        myCustomTaskPane.Visible = true;
    }
    

Eklentiyi Test Etme

Projenizi çalıştırdığınızda, özel görev bölmesi görüntülenmeden PowerPoint açılır ve eklenti özel görev bölmesini görüntüler.Kodu sınamak için MonthCalendar denetimini tıklatın.

Eklentiyi sınamak için

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

  2. Özel görev bölmesinin görünür olduğunu doğrulayın.

  3. Görev bölmesindeki MonthCalendar denetiminin tarihini tıklatın.

    Tarih, etkin sununun ilk slaytına eklenir.

Sonraki Adımlar

Aşağıdaki konulardan özel görev bölmelerinin nasıl oluşturulacağı hakkında daha fazla bilgi alabilirsiniz:

Ayrıca bkz.

Görevler

Nasıl Yapılır: Uygulamaya Özel Görev Bölmesi Ekleme

İzlenecek Yol: Özel Görev Bölmesini Şerit Düğmesi ile Eşitleme

İzlenecek Yol: Outlook'ta E-Posta İletileri ile Birlikte Özel Görev Bölmelerini Görüntüleme

Diğer Kaynaklar

Özel Görev Bölmeleri