Belge düzeyi özelleştirme mimarisi

Visual Studio 2013, Microsoft Office Word ve Microsoft Office Excel için belge düzeyinde özelleştirmeler oluşturmaya yönelik projeler içerir. Bu konu, belge düzeyi özelleştirmelerinin aşağıdaki yönlerini açıklar:

Özelleştirmeleri anlama

Belge düzeyinde özelleştirme oluşturmak için Visual Studio'daki Office geliştirici araçlarını kullandığınızda, belirli bir belgeyle ilişkili bir yönetilen kod derlemesi oluşturursunuz. Bağlantılı derlemeye sahip bir belgenin veya çalışma kitabının yönetilen kod uzantılarına sahip olduğu söylenir. Daha fazla bilgi için bkz . Office çözümleri tasarlama ve oluşturma.

Kullanıcı belgeyi açtığında, derleme Microsoft Office uygulaması lication tarafından yüklenir. Derleme yüklendikten sonra, özelleştirme belge açıkken olaylara yanıt verebilir. Özelleştirme, belge açıkken uygulamayı otomatikleştirmek ve genişletmek için nesne modeline de çağrı yapabilir ve .NET Framework'teki sınıflardan herhangi birini kullanabilir.

Derleme, uygulamanın birincil birlikte çalışma derlemesi aracılığıyla uygulamanın COM bileşenleriyle iletişim kurar. Daha fazla bilgi için bkz. Office birincil birlikte çalışma derlemeleri ve Office çözümleri geliştirmeye genel bakış (VSTO).

Bir kullanıcı aynı anda birden çok belge düzeyi özelleştirmesi açarsa, her derleme farklı bir uygulama etki alanına yüklenir. Bu, yanlış davranan bir çözümün diğer çözümlerin başarısız olmasına neden olamayacağı anlamına gelir. Belge düzeyinde özelleştirmeler, tek bir uygulama etki alanında tek bir belgeyle çalışacak şekilde tasarlanmıştır. Bunlar, çapraz belge iletişimi için tasarlanmamıştır. Uygulama etki alanları hakkında daha fazla bilgi için bkz . Uygulama etki alanları.

Not

Visual Studio'da Office geliştirici araçlarını kullanarak oluşturduğunuz belge düzeyi özelleştirmeleri, yalnızca uygulama bir son kullanıcı tarafından başlatıldığında kullanılacak şekilde tasarlanmıştır. Uygulama program aracılığıyla, örneğin Otomasyon kullanılarak başlatılırsa, özelleştirme beklendiği gibi çalışmayabilir.

Tasarım zamanı ve çalışma zamanı deneyimleri

Belge düzeyinde özelleştirmelerin mimarisini anlamak için, çözüm tasarlama ve çözüm çalıştırma deneyimlerini anlamanıza yardımcı olur.

Tasarım zamanı

Tasarım zamanı deneyimi aşağıdaki adımları içerir:

  1. Geliştirici, Visual Studio'da belge düzeyinde bir proje oluşturur. Proje, belgeyi ve belgenin arkasında çalışan derlemeyi içerir. Belge zaten var olabilir (tasarımcı tarafından oluşturulmuş olabilir) veya projeyle birlikte yeni bir belge oluşturulabilir.

  2. Tasarımcı (projeyi oluşturan geliştirici veya başka biri) belgenin son görünümünü son kullanıcı için oluşturur.

Çalışma Zamanı

Çalışma zamanı deneyimi aşağıdaki adımları içerir:

  1. Son kullanıcı, yönetilen kod uzantılarına sahip bir belgeyi veya çalışma kitabını açar.

  2. Belge veya çalışma kitabı derlenmiş derlemeyi yükler.

  3. Kullanıcı belgede veya çalışma kitabında çalıştığında derleme olaylara yanıt verir.

Geliştirici ve son kullanıcı perspektifi karşılaştırması

Geliştirici öncelikli olarak Visual Studio'da ve son kullanıcı Word veya Excel'de çalıştığından, belge düzeyinde özelleştirmeleri anlamanın iki yolu vardır.

Geliştirici Perspektifi Son Kullanıcının Perspektifi
Geliştirici, Visual Studio'yu kullanarak Word ve Excel'in erişebileceği bir kod yazar.

Geliştirici Word veya Excel çalıştıran bir yürütülebilir dosya oluşturuyor gibi görünse de, işlem aslında tam tersi çalışır. Belge bir derlemeyle ilişkilendirilir ve bu derlemeye yönelik bir işaretçi içerir. Belge açıldığında, Word veya Excel derlemeyi bulur ve işlenen tüm olaylara yanıt olarak kodu çalıştırır.
Çözümü kullananlar, belgeyi veya çalışma kitabını başka bir Microsoft Office dosyasını açar gibi açar (veya şablondan yeni bir belge oluşturur).

Derleme, belge veya çalışma kitabında otomatik olarak geçerli verilerle doldurma veya bilgi istemek için bir iletişim kutusu gösterme gibi özelleştirmeler sağlar.

Belge düzeyi özelleştirmeleri için desteklenen belge biçimleri

Özelleştirme projesi oluşturduğunuzda, projede kullanmak istediğiniz belgenin biçimini seçebilirsiniz. Daha fazla bilgi için bkz . Nasıl yapılır: Visual Studio'da Office projeleri oluşturma.

Aşağıdaki tabloda, Excel ve Word için belge düzeyi özelleştirmelerinde kullanabileceğiniz belge biçimleri listelanmaktadır.

Excel Word
Excel çalışma kitabı (.xlsx)

Excel makro özellikli çalışma kitabı (.xlsm)

Excel ikili çalışma kitabı (.xlsb)

Excel 97-2003 çalışma kitabı (.xls)

Excel şablonu (.xltx)

Makro etkinleştirilmiş Excel şablonu (.xltm)

Excel 97-2003 şablonu (.xlt)
Word belgesi (.docx)

Makro etkinleştirilmiş Word belgesi (.docm)

Word 97-2003 belgesi (.doc)

Word şablonu (.dotx)

Makro etkinleştirilmiş Word şablonu (.dotm)

Word 97-2003 şablonu (.dot)

Yönetilen kod uzantılarını yalnızca desteklenen biçimlerdeki belgeler için tasarlamanız gerekir. Aksi takdirde, belge uygulamada açıldığında bazı olaylar tetiklenmeyebilir. Örneğin, Open yönetilen kod uzantılarını Excel XML elektronik tablosu biçiminde veya web sayfasında (.htm; ) kaydedilmiş çalışma kitaplarıyla kullandığınızda olay tetiklenmez. html) biçimini seçin.

.xml dosya adı uzantıları olan Word belgeleri için destek

Belge düzeyi proje şablonları, aşağıdaki dosya biçimlerini temel alan projeler oluşturmanıza izin vermez:

  • Word XML Belgesi (*xml).

  • Word 2003 XML Belgesi (*xml).

    Son kullanıcılarınızın özelleştirmeleri bu dosya biçimlerinde kullanmasını istiyorsanız, yukarıdaki tabloda belirtilen desteklenen dosya biçimlerinden birini kullanan bir özelleştirme derleyin ve dağıtın. Özelleştirmeyi yükledikten sonra, son kullanıcılar belgeyi Word XML Belgesi (*xml) veya Word 2003 XML Belgesi (*xml) biçiminde kaydedebilir ve özelleştirme beklendiği gibi çalışmaya devam eder.

Özelleştirme bileşenleri

Özelleştirmenin ana bileşenleri belge ve derlemedir. Bu bileşenlere ek olarak, Microsoft Office uygulaması lications'ın özelleştirmeleri bulma ve yükleme konusunda önemli bir rol oynayan birkaç bölüm daha vardır.

Dağıtım bildirimi ve uygulama bildirimi

Özelleştirmeler, özelleştirme derlemesinin en güncel sürümünü tanımlamak ve yüklemek için dağıtım bildirimlerini ve uygulama bildirimlerini kullanır. Dağıtım bildirimi geçerli uygulama bildirimine işaret eder. Uygulama bildirimi özelleştirme derlemesine işaret eder ve derlemede yürütülecek giriş noktası sınıfını (veya sınıflarını) belirtir. Daha fazla bilgi için bkz . Office çözümlerinde uygulama ve dağıtım bildirimleri.

Office Çalışma Zamanı için Visual Studio Araçları

Visual Studio'daki Office geliştirici araçları kullanılarak oluşturulan belge düzeyi özelleştirmeleri çalıştırmak için, son kullanıcı bilgisayarlarda Office çalışma zamanı için Visual Studio Araçları yüklü olmalıdır. Office çalışma zamanı için Visual Studio Araçları, özelleştirme derlemesini yükleyen yönetilmeyen bileşenler ve ayrıca bir dizi yönetilen derleme içerir. Bu yönetilen derlemeler, özelleştirme kodunuzun konak uygulamayı otomatikleştirmek ve genişletmek için kullandığı nesne modelini sağlar.

Daha fazla bilgi için bkz . Office çalışma zamanı için Visual Studio araçlarına genel bakış.

Özelleştirmeler Microsoft Office uygulaması ile nasıl çalışır?

Kullanıcı Microsoft Office özelleştirmesinin parçası olan bir belgeyi açtığında, uygulama özelleştirme derlemesinin en güncel sürümünü bulmak ve yüklemek için belgeye bağlı dağıtım bildirimini kullanır. Dağıtım bildiriminin konumu AssemblyLocation adlı özel bir belge özelliğinde depolanır. Bu konumu tanımlayan dize, çözümü oluşturduğunuzda özelliğine eklenir.

Dağıtım bildirimi uygulama bildirimine işaret eder ve ardından en güncel derlemeye işaret eder. Daha fazla bilgi için bkz . Office çözümlerinde uygulama ve dağıtım bildirimleri.

Aşağıdaki çizimde, belge düzeyinde özelleştirmenin temel mimarisi gösterilmektedir.

2007 Office customization architecture

Not

.NET Framework 4'i hedefleyen Office çözümlerinde çözümler, doğrudan PIA'ya çağırmak yerine çözüm derlemesine eklenmiş birincil birlikte çalışma derlemesi (PIA) türü bilgilerini kullanarak konak uygulamanın nesne modeline çağrır. Daha fazla bilgi için bkz . Office çözümleri tasarlama ve oluşturma.

Yükleme işlemi

Bir kullanıcı Microsoft Office çözümünün parçası olan bir belgeyi açtığında aşağıdaki adımlar gerçekleşir.

  1. Microsoft Office uygulaması lication, belgeyle ilişkilendirilmiş yönetilen kod uzantıları olup olmadığını görmek için özel belge özelliklerini denetler. Daha fazla bilgi için bkz . Özel belge özelliklerine genel bakış.

  2. Yönetilen kod uzantıları varsa, uygulama VSTOLoader.dll dosyasını yükleyen VSTOEE.dll dosyasını yükler. Bunlar, Office çalışma zamanı için Visual Studio 2010 Araçları'nın yükleyici bileşenleri olan yönetilmeyen DLL'lerdir. Daha fazla bilgi için bkz. Office çalışma zamanı için Visual Studio Araçları genel bakış.

  3. VSTOLoader.dll , .NET Framework'leri yükler ve Office çalışma zamanı için Visual Studio Araçları yönetilen bölümünü başlatır.

  4. Belge yerel bilgisayardan başka bir konumdan açılırsa, Office çalışma zamanı Visual Studio Araçları, belgenin konumunun, ilgili Office uygulaması Ayarlar Güven Merkezi'ndekiGüvenilen Konumlar listesinde olduğunu doğrular. Belge konumu güvenilir bir konumda değilse özelleştirmeye güvenilmez ve yükleme işlemi burada durur.

  5. Office çalışma zamanı için Visual Studio Araçları, henüz yüklenmemişse çözümü yükler, en son uygulama ve dağıtım bildirimlerini indirir ve bir dizi güvenlik denetimi gerçekleştirir. Daha fazla bilgi için bkz . Office çözümlerinin güvenliğini sağlama.

  6. Özelleştirmenin çalıştırılmasına güveniliyorsa, Office çalışma zamanı Visual Studio Araçları derleme güncelleştirmelerini denetlemek için dağıtım bildirimini ve uygulama bildirimini kullanır. Derlemenin yeni bir sürümü varsa, çalışma zamanı derlemenin yeni sürümünü istemci bilgisayardaki ClickOnce önbelleğine indirir. Daha fazla bilgi için bkz . Office çözümü dağıtma.

  7. Office çalışma zamanı için Visual Studio Araçları, özelleştirme derlemesinin yüklendiği yeni bir uygulama etki alanı oluşturur.

  8. Office çalışma zamanı için Visual Studio Araçları, özelleştirme derlemesini uygulama etki alanına yükler.

  9. Office çalışma zamanı için Visual Studio Araçları, özelleştirme derlemenizdeki Başlangıç olay işleyicisini çağırır. Daha fazla bilgi için bkz . Office projelerindeki olaylar.