Belge Düzeyi Özelleştirmelerini Programlama
Microsoft Office Word veya Microsoft Office Excel'i belge düzeyi özelleştirmesi kullanarak genişlettiğinizde, aşağıdaki görevleri gerçekleştirebilirsiniz:
Nesne modellerini kullanarak uygulamaları otomatikleştirme.
Belgenin yüzeyine içerik denetimleri ekleme.
Özelleştirme derlemesinden belgeye Visual Basic for Applications (VBA) kodu çağırma.
Kodu VBA'den özelleştirme derlemesine çağırma.
Belgenin bazı yönlerini, belge Microsoft Office'in yüklü olmadığı bir sunucudayken yönetme.
Uygulamaların kullanıcı arayüzünü (UI) özelleştirme.
Uygulama hedefi: Bu konudaki bilgiler, şu uygulamalar için belge düzeyi projelere yöneliktir. Excel 2013 ve Excel 2010; Word 2013 ve Word 2010. Daha fazla bilgi edinmek için, bkz. Office Uygulaması ve Proje Türüne Göre Kullanılabilir Özellikler.
Belge düzeyi projelerde kod yazmanın bazı açıları Visual Studio'daki diğer tür projelerden farklıdır.Bu farklılıkların birçoğuna Office nesne modellerinin yönetilen koda uygulanma yolu sebep olur.Daha fazla bilgi için bkz. Office Çözümlerinde Kod Yazma.
Belge düzeyi özelleştirmeleri ve Visual Studio'da Office geliştirme araçlarını kullanarak oluşturabileceğiniz çözümlerin diğer türleri hakkında genel bilgi için, bkz. Office Çözümleri Geliştirmesine Genel Bakış.
Belge Düzeyi Projelerinde Yaratılan Sınıfları Kullanma
Belge düzeyi projesi yarattığınızda, Visual Studio projenizde kodunuzu yazmaya başlamak için kullanabileceğiniz bir sınıfı otomatik olarak yaratır.Visual Studio, Excel ve Word için farklı sınıflar yaratır:
Word belge düzeyi projelerinde, varsayılan olarak sınıf ThisDocument olarak adlandırılır.
Excel için belge düzeyi projeleri çoklu yaratılan sınıflara sahiptir: biri çalışma kitabının kendisi için ve diğeri her bir çalışma sayfası.Varsayılan olarak, bu sınıflar aşağıdaki isimlere sahiptir:
ThisWorkbook
Sheet1
Sheet2
Sheet3
Yaratılan sınıf, belge açıldığında veya kapatıldığında çağrılan olay işleyicileri içerir.Belge açıldığında kodu çalıştırmak için, kodu Startup olay işleyicisine ekleyin.Belge kapatıldığında hemen önce kodu çalıştırmak için, kodu Shutdown olay işleyicisine ekleyin.Daha fazla bilgi için bkz. Office Projelerindeki Olaylar.
Yaratılan Sınıfların Tasarımını Anlama
' İ hedefleyen projelerde .NET Framework 4 veya .NET Framework 4,5, içindeki konak öğesi türleri Office çalışma zamanı için Visual Studio Araçları , arabirimleri, yaratılan sınıflar onların uygulamasından türetilemez böylece.Onun yerine, yaratılan sınıflar birçok üyelerini aşağıdaki temel sınıflardan türetir:
ThisDocument: türetir DocumentBase.
ThisWorkbook: türetir WorkbookBase.
Sheetn: türetilen WorksheetBase.
Temel sınıflar, tüm çağrıları kendi üyelerine, Office çalışma zamanı için Visual Studio Araçları içindeki ilgili konak öğesi arayüzlerinin iç uygulamalarına yönlendirir.Örneğin çağırırsanız, Protect yöntemi, ThisDocument sınıfı DocumentBase sınıfı bu çağrıyı iç uygulamalarına yönlendirir Document arayüzünün Office çalışma zamanı için Visual Studio Araçları.
Konak Uygulamasının Nesne Modeline Erişme
Konak uygulamasının nesne modeline erişmek için, projenizde yaratılan sınıfının üyelerini kullanın.Bu sınıfların her biri Excel veya Word'ün nesne modelinde bir nesneyle karşılık gelir ve onlar birçok aynı özelliği, yöntemi ve olayı içerir.Örneğin, Word için belge düzeyi projesindeki ThisDocument sınıfı, Word nesne modelindeki Document nesnesiyle aynı üyeleri sağlar.
Aşağıdaki kod örneğinde, Word belge düzeyi özelleştirmesinin bir kısmı olan belgeyi kaydetmek için Word nesne modelinin nasıl kullanıldığı gösterilmektedir.Bu örnek, ThisDocument sınıfından çalıştırılmak üzere tasarlanmıştır.
Me.Save()
this.Save();
ThisDocument sınıfının dışından aynı şeyi yapmak için,ThisDocument sınıfına erişmek üzere Globals nesnesini kullanın.Örneğin, eğer eylemler bölmesi UI'ında Kaydet düğmesi istiyorsanız, bu kodu eylemler bölmesi kod dosyasına ekleyebilirsiniz.
Globals.ThisDocument.Save()
Globals.ThisDocument.Save();
ThisDocument sınıfı, üyelerinin birçoğunu Document konak öğesinden elde ettiği için, bu kodda çağırılan Save yöntemi, Document konak öğesinin Save yöntemidir.Bu yöntem, Word nesne modelindeki Document nesnesinin Save yöntemine karşılık gelir.
Excel ve Word nesne modellerini kullanma hakkında daha fazla bilgi için, bkz. Word Nesne Modeline Genel Bakış ve Excel Nesne Modeline Genel Bakış.
Globals nesnesi hakkında daha fazla bilgi için, bkz. Office Projelerindeki Nesnelere Genel Erişim.
Belgelere Denetimleri Ekleme
Belgenin UI'ını özelleştirmek için, Windows Forms denetimlerini veya konak kontrolleri'ni belge yüzeyine ekleyebilirsiniz.Farklı denetim kümelerini ve kod yazmayı birleştirerek, veriyi denetimlere bağlayabilirsiniz, kullanıcıdan bilgi toplayabilirsiniz ve kullanıcı eylemlerine yanıt verebilirsiniz.
Konak kontrolleri, Word ve Excel nesne modelindeki bazı nesneleri genişleten sınıflardır.Örneğin, ListObject konak kontrolü, Excel'de ListObject'im tüm işlevselliğini sağlar. Fakat, ListObject konak kontrolü ek olaylar ve veri bağlama yeteneklerine sahiptir.
Daha fazla bilgi için, bkz. Ana Bilgisayar Öğelerine ve Denetimlerine Genel Bakış ve Office Belgelerindeki Windows Forms Denetimlerine Genel Bakış.
VBA ve Belge Düzeyi Özelleştirmelerini Birleştirme
VBA kodunu, belge düzeyi özelleştirmesinin bir bölümü olarak belgede kullanabilirsiniz.Özelleştirme derlemesinden belgedeki VBA kodunu çağırabilirsiniz ve özelleştirme derlemesindeki kodu çağırmak amacıyla belgedeki VBA kodunu etkinleştirmek için de projenizi yapılandırabilirsiniz.
Daha fazla bilgi için bkz. VBA ve Belge Düzeyi Özelleştirmelerini Birleştirme.
Sunucu Üzerinde Belgeleri Yönetme
Microsoft Office Word veya Microsoft Office Excel'in yüklü olmadığı sunucu üzerindeki belge düzeyi özelleştirmelerinin farklı yönlerini yönetebilirsiniz.Örneğin, bir belgenin önbelleğindeki verilere erişebilir ve bu verileri değiştirebilirsiniz.Belge ile ilişkili özelleştirme derlemesini de yönetebilirsiniz.Örneğin, belgenin kodunuzu çalıştırmaması için programlı olarak derlemeyi belgeden kaldırabilirsiniz veya belgeye bir derleme iliştirebilirsiniz.
Daha fazla bilgi için bkz. ServerDocument Sınıfını Kullanarak Sunucuda Belge Yönetme.
Microsoft Officem Uygulamasının Kullanıcı Arayüzünü Özelleştirme
Belge düzeyi özelleştirmesi kullanarak Excel'in ve Word'ün UI'ını özelleştirebilirsiniz.
Belgenin yüzeyine konak kontrolleri veya Windows Forms denetimlerini ekleyin.
Daha fazla bilgi için, bkz. Genişletilmiş Nesneleri Kullanarak Word'ü Otomatikleştirme, Genişletilmiş Nesneleri Kullanarak Excel'i Otomatikleştirme ve Office Belgelerindeki Windows Forms Denetimlerine Genel Bakış.
Belgeye eylemler bölmesi ekleme.
Daha fazla bilgi için bkz. Eylemler Bölmesine Genel Bakış.
Şerite özel sekmeler ekleme.
Daha fazla bilgi için bkz. Şerite Genel Bakış.
Şeritteki yapılandırma sekmesine özel gruplar ekleyin.
Daha fazla bilgi için bkz. Nasıl Yapılır: Yerleşik Bir Sekmeyi Özelleştirme.
Microsoft Office uygulamalarının UI'larının özelleştirme hakkında daha fazla bilgi için bkz. Office Kullanıcı Arabirimini Özelleştirme.
Belge Düzeyi Özelleştirmelerinde Yerel Office Nesnelerinden Genişletilmiş Nesneleri Alma
Office olayları için birçok olay işleyicisi, olay yaratan çalışma kitabını, çalışma sayfasını veya belgeyi temsil eden yerel bir Office nesnesi alır.Bazı durumlarda, sadece belge düzeyi özelleştirmesinde çalışma kitabı veya belge olay yarattığında bazı kodları çalıştırmak isteyebilirsiniz.Örneğin, Excel için belge düzeyi özelleştirmesinde, kullanıcı bir özelleştirilmiş çalışma kitabındaki çalışma sayfalarının etkinleştirdiğinde, ama kullanıcı aynı anda açık olduğu ortaya başka bir çalışma kitabındaki çalışma sayfasını etkinleştirdiğinde değil, bazı kodları çalıştırmak isteyebilirsiniz.
Yerel Office nesnesi varsa, o nesnenin içine genişleyip genişlemediğini test edebilirsiniz bir konak öğesi veya konak kontrolünü bir belge düzeyi özelleştirmesindeki.Konak öğeleri ve konak kontrolleri, Word veya Excel nesne modellerinde varolan nesnelere işlevsellik ekleyen Office çalışma zamanı için Visual Studio Araçları tarafından sağlanan türlerdir (yerel Office nesneleri adı verilir).Toplu olarak, konak öğeleri ve konak kontrolleri de denilen Genişletilmiş nesneler. Konak öğeleri ve konak kontrolleri hakkında daha fazla bilgi için bkz: Ana Bilgisayar Öğelerine ve Denetimlerine Genel Bakış.
GetVstoObject ve HasVstoObject yöntemlerini anlama
Yerel Office nesnesi sınamak için kullanın HasVstoObject ve GetVstoObject yöntemleri projenizdeki:
Kullanım HasVstoObject özelleştirmenizin içinde yerel Office nesnesinin genişletilmiş nesnesi olup olmadığını belirlemek istiyorsanız, yöntem. Yerel Office nesnesinin genişletilmiş nesnesi varsa bu yöntem true döner, yoksa false döner.
Kullanım GetVstoObject için bir yerel Office nesnesinin genişletilmiş nesne almak istiyorsanız, yöntem.Bu yöntem döndürür bir ListObject, Workbook, Worksheet, veya Document belirtilen yerel Office nesnesinin varsa, nesne.Aksi takdirde, GetVstoObjectnull döner.Örneğin, GetVstoObject yöntem döndürür bir Document , belirtilen Document Word belge projenizdeki belge için temel nesnedir.
Belge düzeyi projelerinde, kullandığınız GetVstoObject yöntemi yeni bir oluşturmak için Workbook, Worksheet, veya Document konak öğesi yaratabilirsiniz.Bu yöntemi sadece projenizde tasarım anında yaratılan ve varolan konak öğelerine erişmek için kullanabilirsiniz.Uygulama düzeyi projesinde, çalışma anında yeni konak öğelerini yaratmak istiyorsanız, geliştirmeniz gerekir.Daha fazla bilgi için, bkz. Konak Denetimlerinin ve Konak Öğelerinin Programlama Sınırlamaları ve Uygulama Düzeyi Eklentilerindeki Word Belgelerini ve Excel Çalışma Kitaplarını Çalışma Zamanında Genişletme.
GetVstoObject ve HasVstoObject Yöntemlerini Kullanma
Çağırmak için HasVstoObject ve GetVstoObject yöntemi, kullanım Globals.Factory.GetVstoObject veya Globals.Factory.HasVstoObject yöntemi ve yerel Word veya Excel nesnesine geçirin (gibi bir Document veya Worksheet) test etmek istediğiniz.
Ayrıca bkz.
Kavramlar
ServerDocument Sınıfını Kullanarak Sunucuda Belge Yönetme