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 Sheet2gibi 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:

  1. ThisWorkbook_Startup.

  2. Sheet1_Startup.

  3. Sheet2_Startup.

  4. Sheet3_Startup.

  5. Sırasıyla diğer sayfalar.

    Çalışma kitabı çözümündeki Shutdown olay işleyicileri şu sırayla çağrılır:

  6. ThisWorkbook_Shutdown.

  7. Sheet1_Shutdown.

  8. Sheet2_Shutdown.

  9. Sheet3_Shutdown.

  10. 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:

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.