Office projelerindeki olaylar
Her Office proje şablonu otomatik olarak birkaç olay işleyicisi oluşturur. Belge düzeyi özelleştirmeleri için olay işleyicileri, VSTO Eklentileri için olay işleyicilerinden biraz farklıdır.
Şunlar için geçerlidir: Bu konudaki bilgiler belge düzeyi projeler ve VSTO Eklenti projeleri için geçerlidir. Bkz. Office uygulaması ve proje türüne göre kullanılabilen özellikler.
Belge düzeyi projeleri
Visual Studio, belge düzeyinde özelleştirmelerde yeni veya mevcut belgelerin veya çalışma sayfalarının arkasında oluşturulan kod sağlar. Bu kod iki farklı olay oluşturur: Başlatma ve Kapatma.
Startup olayı
Başlangıç olayı, belge çalıştırıldıktan ve derlemedeki tüm başlatma kodu çalıştırıldıktan sonra konak öğelerinin (belge, çalışma kitabı veya çalışma sayfası) her biri için tetiklenir. Bu, kodunuzun çalıştığı sınıfın oluşturucusunda çalıştırılacak son şeydir. Konak öğeleri hakkında daha fazla bilgi için bkz . Konak öğelerine ve konak denetimlerine genel bakış.
Belge düzeyinde bir proje oluşturduğunuzda Visual Studio, oluşturulan kod dosyalarında Başlangıç olayı için olay işleyicileri oluşturur:
Microsoft Office Word projeleri için olay işleyicisi olarak adlandırılır
ThisDocument_Startup
.Microsoft Office Excel projeleri için olay işleyicileri aşağıdaki adlara sahiptir:
Sheet1_Startup
Sheet2_Startup
Sheet3_Startup
ThisWorkbook_Startup
Shutdown olayı
Kodunuzun yüklendiği uygulama etki alanı yüklenmek üzere olduğunda, her konak öğesi (belge veya çalışma sayfası) için Shutdown olayı tetiklenir. Bu, kaldırılırken sınıfında çağrılacak son şeydir.
Belge düzeyinde bir proje oluşturduğunuzda Visual Studio, oluşturulan kod dosyalarında Shutdown olayı için olay işleyicileri oluşturur:
Microsoft Office Word projeleri için olay işleyicisi olarak adlandırılır
ThisDocument_Shutdown
.Microsoft Office Excel projeleri için olay işleyicileri aşağıdaki adlara sahiptir:
Sheet1_Shutdown
Sheet2_Shutdown
Sheet3_Shutdown
ThisWorkbook_Shutdown
Not
Belgenin Kapatma olay işleyicisi sırasında denetimleri program aracılığıyla kaldırmayın. Kapatma olayı gerçekleştiğinde belgenin kullanıcı arabirimi öğeleri artık kullanılamaz. Uygulama kapanmadan önce denetimleri kaldırmak istiyorsanız kodunuzu BeforeClose veya BeforeSave gibi başka bir olay işleyicisine ekleyin.
Olay işleyicisi yöntem bildirimleri
Her olay işleyicisi yöntemi bildirimine geçirilen bağımsız değişkenler aynıdır: gönderen ve e. Excel'de, gönderen bağımsız değişkeni veya Sheet2
gibi Sheet1
sayfaya başvurur; Word'de gönderen bağımsız değişkeni belgeye başvurur. e bağımsız değişkeni, bu durumda kullanılmayan bir olayın standart bağımsız değişkenlerine başvurur.
Aşağıdaki kod örneği, Word için belge düzeyi projelerindeki varsayılan olay işleyicilerini gösterir.
private void ThisDocument_Startup(object sender, System.EventArgs e)
{
}
private void ThisDocument_Shutdown(object sender, System.EventArgs e)
{
}
Aşağıdaki kod örneği, Excel için belge düzeyi projelerindeki varsayılan olay işleyicilerini gösterir.
Not
Aşağıdaki kod örneği, sınıfındaki olay işleyicilerini Sheet1
gösterir. Diğer konak öğesi sınıflarındaki olay işleyicilerinin adları sınıf adına karşılık gelir. Örneğin, Sheet2
sınıfında Başlangıç olay işleyicisi olarak adlandırılırSheet2_Startup
. ThisWorkbook
sınıfında, Başlangıç olay işleyicisi olarak adlandırılırThisWorkbook_Startup
.
private void Sheet1_Startup(object sender, System.EventArgs e)
{
}
private void Sheet1_Shutdown(object sender, System.EventArgs e)
{
}
Belge düzeyi Excel projelerindeki olayların sırası
Excel projelerindeki Başlangıç olay işleyicileri şu sırayla çağrılır:
ThisWorkbook_Startup
.Sheet1_Startup
.Sheet2_Startup
.Sheet3_Startup
.Sırasıyla diğer sayfalar.
Çalışma kitabı çözümündeki Shutdown olay işleyicileri şu sırayla çağrılır:
ThisWorkbook_Shutdown
.Sheet1_Shutdown
.Sheet2_Shutdown
.Sheet3_Shutdown
.Sırasıyla diğer sayfalar.
Sıra, proje derlendiğinde belirlenir. Kullanıcı çalışma zamanında sayfaları yeniden düzenlerse, çalışma kitabı bir sonraki açıldığında veya kapatıldığında olayların tetiklenme sırasını değiştirmez.
VSTO Eklenti projeleri
Visual Studio, VSTO Eklentileri'nde oluşturulan kodu sağlar. Bu kod iki farklı olay oluşturur: Startup ve Shutdown.
Startup olayı
VSTO Startup Eklentisi yüklendikten ve derlemedeki tüm başlatma kodu çalıştırıldıktan sonra olay tetiklenir. Bu olay, oluşturulan kod dosyasındaki yöntemi tarafından ThisAddIn_Startup
işlenir.
ThisAddIn_Startup
VSTO Eklentiniz yöntemi geçersiz kılmadığı RequestComAddInAutomationService sürece, olay işleyicisindeki kod çalıştırılacak ilk kullanıcı kodudur. Bu durumda, olay işleyicisi 'den ThisAddIn_Startup
sonra RequestComAddInAutomationServiceçağrılır.
Bir belgenin ThisAdd-In_Startup
açık olmasını gerektiriyorsa, olay işleyicisine kod eklemeyin. Bunun yerine, bu kodu bir kullanıcı belge oluşturduğunda veya açtığında Office uygulaması lication'ın tetiklediği bir olaya ekleyin. Daha fazla bilgi için bkz. Office uygulaması lication başladığında belgeye erişme.
VSTO Eklentilerinin başlangıç sırası hakkında daha fazla bilgi için bkz . VSTO Eklentilerinin Mimarisi.
Shutdown olayı
Olay Shutdown , kodunuzun yüklendiği uygulama etki alanı yüklenmek üzere olduğunda oluşturulur. Bu olay, oluşturulan kod dosyasındaki yöntemi tarafından ThisAddIn_Shutdown
işlenir. Bu olay işleyicisi, VSTO Eklentisi kaldırıldığında çalıştırılacak son kullanıcı kodudur.
Outlook VSTO Eklentileri'nde kapatma olayı
Olay Shutdown yalnızca kullanıcı Outlook'taki COM Eklentileri iletişim kutusunu kullanarak VSTO Eklentisini devre dışı bırakdığında tetikler. Outlook'un çıkışında tetiklenmez. Outlook'un çıkışında çalışması gereken kodunuz varsa aşağıdaki olaylardan birini işleyebilirsiniz:
Quit nesnesinin Application olayı.
Not
Kayıt defterini değiştirerek Outlook'u olay çıktığında tetiklemeye Shutdown zorlayabilirsiniz. Ancak, bir yönetici bu ayarı geri alırsa, yöntemine ThisAddIn_Shutdown
eklediğiniz tüm kodlar Artık Outlook'un çıkışında çalışmaz. Daha fazla bilgi için bkz . Outlook 2010 için kapatma değişiklikleri.