Aracılığıyla paylaş


İzlenecek Yol: Belge Düzeyi Özelleştirmesi Kullanarak Akıllı Etiket Oluşturma

Bu anlatım, Word için belge düzeyi özelleştirmesinde akıllı etiketlerin nasıl oluşturulduğunu gösterir. Buradaki akıllı etiket, fahrenhayt sıcaklığı dizgilerini tanır. Bu akıllı etiket, sıcaklığı santigrat derecesine çevirip tanınan metni biçimlendirilmiş bir santigrat sıcaklığı dizgisiyle değiştiren bir eylem içerir.

Uygulama alanı: Bu konudaki bilgiler Word 2007'nin belge düzeyi projelerine yöneliktir. Daha fazla bilgi için bkz. Office Uygulamalarında Kullanılabilir Özellikler ve Proje Türü.

Bu akıllı etiketi çalıştırmak için, son kullanıcılar Word'de akıllı etiketleri etkin hale getirmeliler. Daha fazla bilgi için bkz. Nasıl Yapılır: Word ve Excel'de Akıllı Etiketleri Etkinleştirme.

Bu anlatım aşağıdaki görevleri gösterir:

  • Normal ifadeleri tanıyan bir akıllı etiket oluşturma.

  • Veriti akıllı etiketten alan ve tanınan akıllı etiketin metnini değiştiren bir eylem oluşturma.

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. Ayarlar ile çalışma.

Önkoşullar

Bu anlatımı tamamlamak için aşağıdaki bileşenlere ihtiyacınız vardır:

-

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).
  • Word 2007.

  • .NET Framework 3,5.

Not

.NET Framework 4'ü hedeflerseniz, akıllı etiketler ve eylemler oluşturmak için farklı kodlar yazmalısınız. Daha fazla bilgi için bkz. Akıllı Etiketler Mimarisi.

Yeni Bir Proje Oluşturma

İlk adım Word Belge projesi oluşturmaktır.

Yeni bir proje oluşturmak için

Visual Studio tasarımcısında yeni bir Word belgesine açar ve My akıllı etiket projeye ekler Solution Explorer.

Projeyi Yapılandırma

Proje, DLL akıllı etiketine olan bir başvuruya ihtiyaç duyar ve ayrıca normal ifadeleri kullanmalıdır.

Projenizi yapılandırmak

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

  2. .NET sekmesindeki Microsoft.Office.Interop.SmartTag'i seçin ve Tamam'ı tıklatın. Derlemenin 12.0.0.0 sürümünü seçin.

  3. Çözüm Gezgini'nde ThisDocument.vb (Visual Basic'de) veya ThisDocument.cs (C#'ta) dosyasını sağ tıklatın ve Kodu Göster'i tıklatın.

  4. Aşağıdaki kod satırını dosyanın başına ekleyin.

    Imports System.Text.RegularExpressions
    
    using System.Text.RegularExpressions;
    

Akıllı Etiket Oluşturma

Fahrenhayt sıcaklığı dizgilerini bulması ve dönüştürmesi amacıyla akıllı etiketi etkin yapmak için, akıllı etiketin tanıdığı terimler listesine normal ifadeler ekleyin ve kullanıcı akıllı etiketi tıklattığında kullanılabilir olan bir eylem oluşturun.

Akıllı etiket oluşturmak

  1. ThisDocument sınıfındaki ThisDocument_Startup olay işleyicisini aşağıdaki kod ile değiştirin. Bu kod, akıllı etiketi tanıtan ve akıllı etiketin tanıdığı terimlerin listesine normal ifadeler ekleyen SmartTag'i oluşturur.

    WithEvents action1 As Microsoft.Office.Tools.Word.Action
    
    Private Sub ThisDocument_Startup(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles Me.Startup
    
        'Use the following line of code in projects that target the .NET Framework 4.
        Dim smartTag1 As Microsoft.Office.Tools.Word.SmartTag = _
            Globals.Factory.CreateSmartTag( _
           "www.microsoft.com/Demo#DemoSmartTag", _
           "Demonstration Smart Tag")
    
        'In projects that target the .NET Framework 3.5, use the following line of code.
        'Dim smartTag1 As New Microsoft.Office.Tools.Word.SmartTag( _
        '   "www.microsoft.com/Demo#DemoSmartTag", _
        '  "Demonstration Smart Tag")
    
        smartTag1.Expressions.Add( _
            New Regex("(?'number'[+-]?\b[0-9]+)?\s?(F|f)\b"))
    
    private Microsoft.Office.Tools.Word.Action action1;
    
    private void ThisDocument_Startup(object sender, System.EventArgs e)
    {
        // Use the following line of code in projects that target the .NET Framework 4.
        Microsoft.Office.Tools.Word.SmartTag smartTag1 =
            Globals.Factory.CreateSmartTag(
            "www.microsoft.com/Demo#DemoSmartTag",
            "Demonstration Smart Tag");
    
        // In projects that target the .NET Framework 3.5, use the following line of code.
        //Microsoft.Office.Tools.Word.SmartTag smartTag1 =
        //  new Microsoft.Office.Tools.Word.SmartTag(
        //  "www.microsoft.com/Demo#DemoSmartTag",
        //  "Demonstration Smart Tag");
    
        smartTag1.Expressions.Add(new Regex(
            @"(?'number'[+-]?\b[0-9]+)�?\s?(F|f)\b"));
    
  2. Yeni bir Action oluşturun ve akıllı etiketin Actions özelliğine ekleyin. Action, kullanıcının akıllı etiket menüsünde tıklatabileceği bir öğeyi temsil eder.

    'Use the following line of code in projects that target the .NET Framework 4.
    action1 = Globals.Factory.CreateAction( _
        "Convert to Celsius")
    
    'In projects that target the .NET Framework 3.5, use the following line of code.
    'action1 = New Microsoft.Office.Tools.Word.Action( _
    '    "Convert to Celsius")
    
    smartTag1.Actions = _
        New Microsoft.Office.Tools.Word.Action() {action1}
    
    
    // Use the following line of code in projects that target the .NET Framework 4.
    action1 = Globals.Factory.CreateAction(
        "Convert to Celsius");
    
    // In projects that target the .NET Framework 3.5, use the following line of code.
    //action1 = new Microsoft.Office.Tools.Word.Action(
    //    "Convert to Celsius");
    
    
    
    smartTag1.Actions = new
        Microsoft.Office.Tools.Word.Action[] {action1};
    
  3. SmartTag'yi VstoSmartTags özelliğine ekleyerek akıllı etiketi belgeye iliştirin. C#'ta eylemin Click olayına bir olay işleyicis ekleyin.

        Me.VstoSmartTags.Add(smartTag1)
    End Sub
    
        this.VstoSmartTags.Add(smartTag1);
    
        action1.Click += new
            Microsoft.Office.Tools.Word.ActionClickEventHandler(
            action1_Click);
    }
    

Eylem için Olay İşleyicisi Oluşturma

Olay işleyicisi, akıllı etiketin özellik çantasında olan fahrenhayt sıcaklık değerini number anahtarından alabilir. Olay işleyicisi bundan sonra fahrenhayt sıcaklık değerini santigrata çevirip tanınan dizgiyi değiştirir.

Bu örnekte, number anahtarı akıllı etikete atanan normal ifadelerden yakalanan grubu belirler. Akıllı etiketlerin özellik çantaları ve normal ifadeleri hakkında daha fazla bilgi için, bkz. Akıllı Etiketler Mimarisi.

Olay işleyicisi oluşturmak

  • Aşağıdaki kodu ThisDocument sınıfına kopyalayın.

    Private Sub action1_Click(ByVal sender As Object, _
        ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) _
        Handles action1.Click
    
        Dim value As String = e.Properties.Read("number")
        Dim fahrenheit As Double = System.Convert.ToDouble(value)
        Dim celsius As Integer = Fix(fahrenheit - 32) * 5 / 9
        e.Range.Text = celsius.ToString() + "C"
    End Sub
    
    void action1_Click(object sender,
        Microsoft.Office.Tools.Word.ActionEventArgs e)
    {
        string value = e.Properties.get_Read("number");
        double fahrenheit = System.Convert.ToDouble(value);
        int celsius = (int)(fahrenheit - 32) * 5 / 9;
        e.Range.Text = celsius.ToString() + "�C";
    }
    

Uygulamayı Sınama

Akıllı etiketin fahrenhayt değerini santigrata dönüştürdüğünden emin olmak için artık belgenizi sınayabilirsiniz.

Çalışma kitabınızı sınamak

  1. Word'de akıllı etiketleri etkinleştirin.

    Daha fazla bilgi için bkz. Nasıl Yapılır: Word ve Excel'de Akıllı Etiketleri Etkinleştirme.

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

  3. Akıllı etikete eklediğiniz normal ifadeye uyan bir dizgi (örn. 60F, 60° F ya da 60 F) yazın.

    Not

    Derece işareti (°) yapmak için, ALT tuşuna basıp 248 yazabilirsiniz.

  4. Tanınan dizginin üzerinde görünen akıllı etiket simgesini tıklatın ve Convert to Celsius (Santigrada Çevir)'i tıklatın.

  5. Asıl dizginin, santigrat cinsinden sıcaklığı içeren yeni dizgiyle değiştiğini onaylayın.

Ayrıca bkz.

Görevler

Nasıl Yapılır: Word ve Excel'de Akıllı Etiketleri Etkinleştirme

Nasıl Yapılır: Word Belgelerine Akıllı Etiketler Ekleme

Nasıl Yapılır: Excel Çalışma Kitaplarına Akıllı Etiketler Ekleme

İzlenecek Yol: Uygulama Düzeyi Eklentisini Kullanarak Akıllı Etiket Oluşturma

Kavramlar

Akıllı Etiketler Mimarisi

Nasıl Yapılır: Word and .NET Framework 3.5'te Özel Tanıyıcılarla Akıllı Etiketler Oluşturma

Nasıl Yapılır: Excel and .NET Framework 3.5'te Özel Tanıyıcılarla Akıllı Etiketler Oluşturma

Diğer Kaynaklar

Akıllı Etiketlere Genel Bakış