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:
Word'de, Microsoft.Office.Interop.Word.Application sınıfının Run yöntemini çağırın.
Excel'de Microsoft.Office.Interop.Excel.Application sınıfının Run yöntemini çağırı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ış