Aracılığıyla paylaş


VBA ve Belge Düzeyi Özelleştirmelerini Birleştirme

Microsoft Office Word veya Microsoft Office Excel için bir belge düzeyi özelleştirmesinin parçası olan bir belgede Visual Basic for Applications (VBA) kodu kullanabilirsiniz. Özelleştirme derlemesinden belgedeki VBA kodunu çağırabilirsiniz veya özelleştirme derlemesindeki kodu çağırmak amacıyla belgedeki VBA kodunu etkinleştirmek için projenizi yapılandırabilirsiniz. Bu görevlerden ikincisi hakkında daha fazla bilgi için bkz. Belge Düzeyi Özelleştirmelerindeki Kodu VBA'dan Çağırma.

Uygulama alanı: Bu konudaki bilgiler şu uygulamaların belge düzeyi projelerine yöneliktir: Excel 2007 ve Excel 2010; Word 2007 ve Word 2010. Daha fazla bilgi için bkz. Office Uygulamalarında Kullanılabilir Özellikler ve Proje Türü.

Belge Düzeyi Özelleştirmesinde VBA Kodunun Davranışı

Visual Studio'da projenizi açtığınız zaman belge tasarım modunda açılır. VBA kodu belge tasarım modundayken çalışmaz, bu nedenle belgenin ve kodun üzerinde, VBA kodunu çalıştırmadan çalışabilirsiniz.

Çözümü çalıştırdığınızda, VBA'daki ve özelleştirme derlemelerindeki olay işleyicilerin her ikisi de belgede çıkarılan olayları yakalar ve her iki kod kümesi de çalışır. Hangi kodun diğerinden önce çalışacağına önceden karar verilemez, buna her bir durumu test ederek karar verebilirsiniz. İki kod kümesi dikkatli bir biçimde eşgüdümlenmez ve test edilmez ise beklenmeyen sonuçlar alabilirsiniz.

Özelleştirme Derlemesinden VBA Kodu Çağırma

Word belgelerinde makro, Excel çalışma kitaplarında makro ve işlev çağırabilirsiniz. Bunu yapmak için aşağıdaki yöntemlerden birini kullanın:

Tüm yöntemlerde, ilk parametre çağırmak istediğiniz makro veya işlevin ismini tanımalar; geri kalan isteğe bağlı parametreler makro veya işleve geçireceğiniz parametreleri belirtir. İlk parametrenin Word ve Excel için farklı biçimleri olabilir.

  • Word'de, ilk parametre şablon, modül ve makro isminin herhangi bir karışımı olan bir dizgi olabilir. Belge ismini belirtirseniz, kodunuz sadece geçerli bağlamla ilgili belgelerdeki makroları çalıştırır; bütün belgelerdeki makroları değil.

  • Excel'de, ilk parametre makro ismini belirten bir dizgi, işlevin nerede olduğunu belirten bir Range veya kayıtlı DLL (XLL) işlevi için bir kimlik olabilir. Bir dizgi geçirirseniz, bu dizgi etkin sayfanın bağlamında değerlendirilir.

Aşağıdaki kod örneğinde, bir belge düzeyi Excel projesinden MyMacro adındaki bir makronun nasıl çağrıldığı gösterilmektedir. Bu örnekte Sheet1 sayfasında MyMacro makrosunun tanımlandığını varsayılır.

Globals.Sheet1.Application.Run("MyMacro")
Globals.Sheet1.Application.Run("MyMacro", missing, missing, missing,
    missing, missing, missing, missing, missing, missing, missing,
    missing, missing, missing, missing, missing, missing, missing,
    missing, missing, missing, missing, missing, missing, missing, 
    missing, missing, missing, missing, missing, missing);

Not

Visual C#'ta isteğe bağlı parametrelerin yerine genel missing değişkeninin kullanılması hakkında daha fazla bilgi için bkz. Visual Basic vb. ile Programlama Office Çözümlerinde Visual C#.

Ayrıca bkz.

Görevler

Nasıl Yapılır: Visual Basic Projesindeki Kodu VBA'de Ortaya Çıkarma

Nasıl Yapılır: Visual C# Projesinde Kodu VBA'da Ortaya Çıkarmak

İzlenecek Yol: Visual Basic Projesinde VBA'dan Kod Çağırma

İzlenecek Yol: Visual C# Projesinde VBA'dan Kod Çağırma

Kavramlar

Belge Düzeyi Özelleştirmelerindeki Kodu VBA'dan Çağırma

VBA ve Visual Studio'da Office Çözümleri Karşılaştırması

Office Çözümleri Derlemelerine Genel Bakış

Diğer Kaynaklar

Office Çözümleri Tasarlama ve Oluşturma