Gereksinimler: Office için basit bir eklenti geliştirmek için VSTO'yu kullanın; örneğin Word Chinese karakter uzunluğu eklentisini almak gibi.
Word nesne modeli
Word, etkileşime girebilecek yüzlerce nesne sunuyor. Bu nesneler, kullanıcı arayüzünü sıkı bir şekilde takip eden bir hiyerarşi içinde düzenlenmiştir. Uygulama nesnesi hiyerarşinin en üstündedir. Bu nesne, Word'ün mevcut örneğini temsil eder. Uygulama nesnesi, Belge, Seçim, Yer imimi ve Aralık nesnelerini içerir. Bu nesnelerin her biri, nesneyi manipüle etmek ve etkileşime girmek için kullanılabilecek çeşitli yöntemler ve özelliklere sahiptir.
Aşağıdaki görsel, bu nesnelerin Word nesne modeli hiyerarşisindeki bir görünümünü göstermektedir.
Belge:Bağlantı girişi görünür.
Uygulama nesnesi
Uygulama nesnesi, Word uygulamasını temsil eder ve diğer tüm nesnelerin ebeveynidir. Üyeleri genellikle Word'ün tamamına uygulanır. Özelliklerini ve yöntemlerini kullanarak Word ortamını kontrol edebilirsiniz.
Bir VSTO eklenti projesinde, ThisAddIn nesnesine Application sınıfının Uygulama alanlarını kullanarak erişebilirsiniz.
Belge düzeyindeki bir projede, ThisDocument nesnesine Uygulama sınıfının Uygulama özelliği kullanılarak erişilebilir.
Belge nesnesi
Document nesnesi, Word programlamasının merkezidir. Bir belgeyi ve tüm içeriğini temsil eder. Bir belge açtığınızda veya yeni bir belge oluşturduğunuzda, yeni bir Document nesnesi oluşturulur ve Documents nesnesinin Uygulama koleksiyonuna eklenir. Odaklı bir belgeye aktif belge denir. Bu, ActiveDocument nesnesinin Uygulama özelliğiyle temsil edilir.
Belge düzeyinde bir proje oluşturduğunuzda, projede oluşturulan Document sınıfını kullanarak ThisDocument üyesine erişebilirsiniz. ThisDocument nesnesine Document sınıfındaki kod için Me veya bu anahtar kelime kullanılarak veya ThisDocument sınıfı dışındaki kod için Globals.ThisDocument kullanılarak erişilebilir.
Seçim nesnesi
Selection nesnesi, şu anda seçilen bölgeyi temsil eder. Word kullanıcı arayüzünde metni kalın yazma gibi bir eylem yaparken, metni seçebilir veya vurgulayabilir ve biçimlendirmeyi uygulayabilirsiniz. Selection nesnesi belgede her zaman mevcuttur. Hiçbir şey işaretlenmezse, bir yerleştirme noktası belirtir. Ayrıca, seçilen içerik, birden fazla bitişik olmayan metin bloğu içerebilir.
Menzil nesnesi
Aralık nesesi, belgedeki bitişik alanları temsil eder ve başlangıç ile son karakter konumlarıyla tanımlanır. Tek bir Menzil nesnesiyle sınırlı değil. Aynı belgede birden fazla Aralık nesnesi tanımlayabilirsiniz. Menzil nesneleri aşağıdaki özelliklere sahiptir:
- Yalnızca bireysel ekleme noktalarını içerebilir veya bir metin aralığı veya tüm belge içerebilir.
- Boşluklar, sekmeler ve paragraf işaretleyicileri gibi basılı olmayan karakterleri içerir.
- Bu, şu anda seçilen içerikle temsil edilen alan veya bu içerikten farklı olan alan olabilir.
- Belgede görünmez, seçilen içerik ise her zaman görünürdür.
- Dokümantasyonla birlikte kaydedilmez ve sadece kod çalışırken vardır.
- Bir aralığın sonunda metin eklendiğinde, Word otomatik olarak bu aralığı eklenmiş metni de kapsayacak şekilde genişletir.
İçerik Kontrol Nesneleri (İçerik Kontrol Nesneleri)
ContentControl, bir Word belgesi içindeki metin ve diğer içerik türlerinin giriş ve render edilmesini kontrol etmenin bir yolunu sunar. ContentControl, Word belgelerinde kullanılmak üzere optimize edilmiş birçok farklı kullanıcı arayüzü türünü gösterebilir; örneğin çoklu mesajlı metin kontrolleri, tarih seçiciler veya kombinasyon kutuları. Ayrıca kullanıcıların bir belgenin veya şablonun belirli bölümlerini düzenlemesini engellemek için ContentControl kullanabilirsiniz.
Visual Studio, ContentControl nesnesini birkaç farklı ana bilgisayar kontrolüne genişletir. ContentControl nesnesi içerik kontrolleri için mevcut olan tüm farklı kullanıcı arayüzlerini gösterirken, Visual Studio her içerik kontrolü için farklı bir tür sunar. Örneğin, RichTextContentControl ile çoklu mesajlı bir metin kontrolü oluşturabilir veya DatePickerContentControl ile tarih seçici oluşturabilirsiniz. Bu ana kontrol sistemleri yerel ContentControls'a benzer davranır, ancak ek etkinlik ve veri bağlama yetenekleri de vardır.
Yer imi nesnesi
Yer Imeği nesnesi, hem başlangıç hem de son konumlarıyla bir belgedeki bitişik alanları temsil eder. Belgede bir konumu işaretlemek veya belgenin Çince versiyonu için bir konteyner olarak yer imi kullanabilirsiniz. Bir Yer Imeği nesnesi ekleme noktaları içerebilir veya tüm belge kadar büyük olabilir. Yer imeği, Menzil nesnelerinden ayıran aşağıdaki özelliklere sahiptir:
- Tasarım yaparken yer imlerini isimleyebilirsiniz.
- Yer Imi nesnesi belgeyle birlikte kaydedilir, bu yüzden kod çalışmayı durdurduğunda veya belge kapandığında silinmez.
- View özelliğine ulaşın, View özelliğini false veya true olarak ayarlayın.
- Visual Studio, Yer Imi nesnesini Yer Imi ana kontrol sağlayarak genişletir. Yer imimi ana kontrol sistemleri, yerel Bookmark'a benzer şekilde davranır, ancak ek etkinlik ve veri bağlama yetenekleri de vardır. Bir belgedeki yer imimi kontrolüne, Windows Form'daki metin kutusu kontrolüne veriyi bağlamanız gibi veriyi bağlayabilirsiniz.
Word VSTO eklentisi oluştur
Temel kavramları anladıktan sonra, VS 2022'yi açarak aşağıdaki şekilde gösterildiği gibi yeni bir Word VSTO eklentisi oluşturun:
Aşağıdaki şekilde gösterildiği gibi görsel bir şerit oluşturun:
Ribbon1.cs iki kez tıklayarak açın, varsayılan sekme sekmesini kaldırın ve aşağıda gösterildiği gibi yeni bir sekme sürükleyin:
Bir grubu ve bir düğme kontrolünü aşağıda gösterildiği gibi yeni sekme sekmesine sürükleyin:
Yeni oluşturulan buton düğmesine çift tıklayarak aşağıdaki kodla bir tıklama etkinliği oluşturun:
(Son)
|