Aracılığıyla paylaş


Office Çözümlerinde Geç Bağlama

Office uygulamalarının bazı nesne modeli türleri, geç bağlama özellikleriyle kullanılabilir olan işlevsellik sunar.Örneğin, bazı yöntem ve özellikler Office uygulamasının içeriğine bağlı olarak farklı tür nesneler dündürebilir ve bazı türler farklı içeriklerde farklı yöntem ve özellikler oluşturabilirler.

Uygulama hedefi: Bu konudaki bilgiler, Office 2013 ve Office 2010 için belge düzeyi projeler ve 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.

Visual Basic projeleri Option Strict kapalı ve Visual C# projeleri hedefleyen .NET Framework 4 veya .NET Framework 4,5 , bu geç bağlama özelliğini kullanan türlerle doğrudan çalışabilir.

Nesne Dönüş Değerlerinin Dolaylı ve Açık Ataması

Microsoft Office birincil birlikte çalışma derlemelerindeki (PIA) birçok yöntem ve özellikler Object değerleri döner, çünkü onlar nesnelerin birçok farklı türünü dönebilirler. Örneğin, ActiveSheet özelliği, Object döner, çünkü onun dönüş değeri etkin sayfanın ne olduğuna bağlı olarak Worksheet veya Chart nesnesi olabilir.

Ne zaman bir yöntem veya özellik döndürür bir Object, siz açıkça (Visual Basic'te) nesne doğru türe Visual Basic projelerinde dönüştürmeniz gerekir nerede Option Strict açıktır.Açıkça artığını gerekmez Object döndürülen değerler Visual Basic projelerinde nerede Option Strict kapalıdır.

Birçok durumda, başvuru belgesi, Object dönen bir üye için olası dönüş değer türlerini listeler.Nesneyi dönüştürme veya atama, Kod Düzenleyicideki nesne için IntelliSense'i etkinleştirir.

Visual Basic'te dönüştürme hakkında bilgi için bkz. Örtük ve Açık Dönüştürmeler (Visual Basic) ve CType İşlevi (Visual Basic).

Örnekler

Aşağıdaki kod örneği bir Visual Basic projesinde nesnenin belli bir türe nasıl gösterir nerede Option Strict açıktır.Bu tür projelerin açıkça dönüştürmelisiniz Cells özelliği için bir Range.Bu örnekte, Sheet1 isimli çalışma sayfası sınıfıyla birlikte belge düzeyi Excel projesi gereklidir.

Dim castRange As Excel.Range = CType(Globals.Sheet1.Cells(1, 1), Excel.Range)

Aşağıdaki kod örneğinde, Option Strict'in kapalı olduğu Visual Basic projesinde veya .NET Framework 4 hedefleyen Visual C# projesinde nesnenin belli bir türe dolaylı olarak nasıl atandığı anlatılır.Bu tür projelerde, Cells özelliğini dolaylı olarak Range'e atamalısınız.Bu örnekte, Sheet1 isimli çalışma sayfası sınıfıyla birlikte belge düzeyi Excel projesi gereklidir.

Dim dynamicRange As Excel.Range = Globals.Sheet1.Cells(1, 1)
Excel.Range dynamicRange = Globals.Sheet1.Cells[1, 1];

Sadece Geç Bağlama Aracılığıyla Kullanılabilen İletişim Kutusu Üyelerine Erişme

Office PIA'daki bazı özellikler ve yöntemler sadece geç bağlama aracılığıyla kullanılabilir.Visual Basic projelerinde Option Strict hedefleyen Visual C# projelerinde veya kapalı olan .NET Framework 4 veya .NET Framework 4,5, geç bağlanmış üyelere erişmek için bu dillerde geç bağlama özelliklerini kullanabilirsiniz.Visual Basic projelerinde Option Strict açık olduğunda, bu üyelere erişmek için yansımayı kullanmalısınız.

Örnekler

Aşağıdaki kod örneğinde, Option Strict'in kapalı olduğu Visual Basic projesinde veya .NET Framework 4 hedefleyen Visual C# projesinde geç bağlama üyelerine nasıl erişildiği anlatılır.Bu örnekte, Word'deki Dosya Aç iletişim kutusunun geç bağlama Name özelliğine erişilir.Bu örneği kullanmak için Word projesindeki ThisDocument veya ThisAddIn sınıfından kodu çalıştırın.

Private Sub TestDynamicDialog()
    Dim dialog As Word.Dialog = Application.Dialogs(Word.WdWordDialog.wdDialogFileOpen)
    dialog.Name = "Testing"
    dialog.Show()
    MessageBox.Show(dialog.Name)
End Sub
dynamic dialog = Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen];
dialog.Name = "Testing";
dialog.Show();
MessageBox.Show(dialog.Name);

Aşağıdaki kod örneğinde yansıtma bir Visual Basic projesinde aynı görevi başarmak için nasıl kullanılacağını gösterir nerede Option Strict açıktır.

Dim dlg As Word.Dialog = Application.Dialogs(Word.WdWordDialog.wdDialogFileOpen)
Dim dlgType As Type = GetType(Word.Dialog)

' Set the Name property of the dialog box.
dlgType.InvokeMember("Name", _
    Reflection.BindingFlags.SetProperty Or _
        Reflection.BindingFlags.Public Or _
        Reflection.BindingFlags.Instance, _
    Nothing, dlg, New Object() {"Testing"}, _
    System.Globalization.CultureInfo.InvariantCulture)

' Display the dialog box.
dlg.Show()

' Show the Name property.
MessageBox.Show(dlgType.InvokeMember("Name", _
    Reflection.BindingFlags.GetProperty Or _
        Reflection.BindingFlags.Public Or _
        Reflection.BindingFlags.Instance, _
    Nothing, dlg, Nothing, _
    System.Globalization.CultureInfo.InvariantCulture))

Ayrıca bkz.

Başvuru

Option Strict Deyimi

Yansıma (C# ve Visual Basic)

Kavramlar

Office Çözümlerinde Kod Yazma

Office Çözümlerinde İsteğe Bağlı Parametreler

Diğer Kaynaklar

Tür dinamiği kullanma (C# Programlama Kılavuzu)

Office Çözümleri Tasarlama ve Oluşturma