Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu kılavuz, belgedeki Visual Basic for Applications (VBA) kodundan Microsoft Office Word için belge düzeyinde özelleştirmede bir yöntemin nasıl çağrılacağını gösterir. Yordam üç temel adımdan oluşur: konak öğesi sınıfına ThisDocument
bir yöntem ekleyin, yöntemi VBA kodunda kullanıma sunun ve ardından belgedeki VBA kodundan yöntemini çağırın.
Şunlar için geçerlidir: Bu konudaki bilgiler Excel ve Word için belge düzeyi projeleri için geçerlidir. Daha fazla bilgi için bkz. Office uygulaması ve proje türüne göre kullanılabilen özellikler.
Bu izlenecek yol özellikle Word'i kullansa da, izlenecek yol tarafından ortaya konan kavramlar Excel için belge düzeyi projeleri için de geçerlidir.
Bu izlenecek yol aşağıdaki görevleri gösterir:
VBA kodu içeren bir belge oluşturma.
Word'de Güven Merkezi'ni kullanarak belgenin konumuna güvenme.
Konak öğesi sınıfına
ThisDocument
bir yöntem ekleme.yöntemini VBA koduna ifşa etme.
VBA kodundan yöntemini çağırma.
Not
Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Sahip olduğunuz Visual Studio sürümü ve kullandığınız ayarlar bu öğeleri belirler. Daha fazla bilgi için bkz . Visual Studio IDE'yi kişiselleştirme.
Önkoşullar
Bu izlenecek yolu tamamlamak için aşağıdaki bileşenlere ihtiyacınız vardır:
Microsoft Office geliştirici araçlarını içeren bir Visual Studio sürümü. Daha fazla bilgi için bkz . Office çözümleri geliştirmek için bilgisayar yapılandırma.
Microsoft Word
VBA kodu içeren bir belge oluşturma
İlk adım, basit bir VBA makrosunun bulunduğu makro içerebilen bir belge oluşturmaktır. Bu belgeyi temel alan bir Visual Studio projesi oluşturmadan önce belge bir VBA projesi içermelidir. Aksi takdirde Visual Studio, VBA kodunun özelleştirme derlemesine çağrı yapmasını sağlamak için VBA projesini değiştiremez.
Kullanmak istediğiniz VBA kodunu içeren bir belgeniz zaten varsa, bu adımı atlayabilirsiniz.
VBA kodu içeren bir belge oluşturmak için
Word'i başlatın.
Etkin belgeyi, DocumentWithVBA adıyla Makro Etkinleştirilmiş Word Belgesi (*.docm) olarak kaydedin. Masaüstü gibi uygun bir konuma kaydedin.
Şeritte Geliştirici sekmesine tıklayın.
Not
Geliştirici sekmesi görünmüyorsa, önce bunu göstermeniz gerekir. Daha fazla bilgi için bkz . Nasıl yapılır: Şeritte geliştirici sekmesini gösterme.
Kod grubunda Visual Basic'e tıklayın.
Visual Basic Düzenleyicisi açılır.
Proje penceresinde ThisDocument'a çift tıklayın.
Nesnenin
ThisDocument
kod dosyası açılır.Kod dosyasına aşağıdaki VBA kodunu ekleyin. Bu kod hiçbir şey yapmaz basit bir işlev tanımlar. Bu işlevin tek amacı belgede bir VBA projesinin bulunduğundan emin olmaktır. Bu, bu kılavuzdaki sonraki adımlar için gereklidir.
Sub EmptySub() End Sub
Belgeyi kaydedin ve Word'dan çıkın.
Proje oluşturma
Artık Word için daha önce oluşturduğunuz makro etkinleştirilmiş belgeyi kullanan bir belge düzeyi projesi oluşturabilirsiniz.
Yeni proje oluşturmak için
Visual Studio’yu çalıştırın.
Dosya menüsünde Yeni'nin üzerine gelin ve Proje'ye tıklayın. IDE'niz Visual Basic geliştirme ayarlarını kullanacak şekilde ayarlandıysa, Dosya menüsünde Yeni Proje'ye tıklayın.
Şablonlar bölmesinde Visual Basic'i ve ardından Office/SharePoint'i genişletin.
Office Eklentileri düğümünü seçin.
Proje şablonları listesinde Word 2010 Belgesi veya Word 2013 Belge projesini seçin.
Ad kutusuna CallingCodeFromVBA yazın.
Tamam'a tıklayın.
Office Proje sihirbazı için Visual Studio Araçları açılır.
Var olan bir belgeyi kopyala'yı seçin ve Var olan belgenin Tam yolu kutusunda, daha önce oluşturduğunuz DocumentWithVBA belgesinin konumunu belirtin. Makro etkinleştirilmiş kendi belgenizi kullanıyorsanız, bunun yerine bu belgenin konumunu belirtin.
Finish (Son) düğmesine tıklayın.
Visual Studio, DocumentWithVBA belgesini tasarımcıda açar ve CallingCodeFromVBA projesini Çözüm Gezgini ekler.
Belgenin konumuna güvenme
Çözümünüzdeki kodu belgedeki VBA koduyla kullanıma sunmadan önce, belgedeki VBA'ya güvenmeniz gerekir. Bunu yapmanın birkaç yolu vardır. Bu izlenecek yol için, Word'deki Güven Merkezi'nde belgenin konumuna güvenin.
Belgenin konumuna güvenmek için
Word'i başlatın.
Dosya sekmesine tıklayın.
Word Seçenekleri düğmesine tıklayın.
Kategoriler bölmesinde Güven Merkezi'ne tıklayın.
Ayrıntılar bölmesinde Güven Merkezi Ayarlar'ne tıklayın.
Kategoriler bölmesinde Güvenilen Konumlar'a tıklayın.
Ayrıntılar bölmesinde Yeni konum ekle'ye tıklayın.
Microsoft Office Güvenilen Konumu iletişim kutusunda, CallingCodeFromVBA projesini içeren klasöre göz atın.
Bu konumun alt klasörleri de güvenilir'i seçin.
Microsoft Office Güvenilen Konum iletişim kutusunda Tamam'a tıklayın.
Güven Merkezi iletişim kutusunda Tamam'a tıklayın.
Word Seçenekleri iletişim kutusunda Tamam'a tıklayın.
Word'de çıkın.
ThisDocument sınıfına yöntem ekleme
VBA projesi ayarlandığından, VBA kodundan çağırabileceğiniz konak öğesi sınıfına bir yöntem ThisDocument
ekleyin.
ThisDocument sınıfına yöntem eklemek için
Çözüm Gezgini'da ThisDocument.vb'ye sağ tıklayın ve ardından Kodu Görüntüle'ye tıklayın.
ThisDocument.vb dosyası Kod Düzenleyicisi'nde açılır.
Sınıfına aşağıdaki yöntemi
ThisDocument
ekleyin. Bu yöntem, belgenin başında iki satır ve iki sütun içeren bir tablo oluşturur. Parametreler, ilk satırda görüntülenen metni belirtir. Bu kılavuzun ilerleyen bölümlerinde, belgedeki VBA kodundan bu yöntemi çağıracaksınız.Public Sub CreateTable(ByVal firstColumnHeader As String, _ ByVal secondColumnHeader As String) Me.Paragraphs(1).Range.InsertParagraphBefore() Dim table1 As Word.Table = Me.Tables.Add(Me.Paragraphs(1).Range, 2, 2) With table1 .Style = "Table Professional" .Cell(1, 1).Range.Text = firstColumnHeader .Cell(1, 2).Range.Text = secondColumnHeader End With End Sub
Projeyi derleyin.
yöntemini VBA kodunda kullanıma sunma
Yöntemini belgedeki CreateTable
VBA koduna göstermek için ThisDocument
konak öğesinin EnableVbaCallers özelliğini True olarak ayarlayın.
Yöntemini VBA kodunda kullanıma sunma
Çözüm Gezgini'de, ThisDocument.vb'ye çift tıklayın.
DocumentWithVBA dosyası tasarımcıda açılır.
Özellikler penceresinde EnableVbaCallers özelliğini seçin ve değeri True olarak değiştirin.
Görüntülenen iletide Tamam'a tıklayın.
Projeyi derleyin.
VBA kodundan yöntemini çağırma
Artık belgedeki CreateTable
VBA kodundan yöntemini çağırabilirsiniz.
Not
Bu kılavuzda, projede hata ayıklarken belgeye VBA kodu ekleyebilirsiniz. Visual Studio, derleme çıktı klasöründeki belgeyi ana proje klasöründeki belgenin bir kopyasıyla değiştirdiğinden, projeyi bir sonraki derlemenizde bu belgeye eklediğiniz VBA kodunun üzerine yazılır. VBA kodunu kaydetmek istiyorsanız, bunu proje klasöründeki belgeye kopyalayabilirsiniz. Daha fazla bilgi için bkz . VBA ve belge düzeyi özelleştirmelerini birleştirme.
VBA kodundan yöntemini çağırmak için
Projenizi çalıştırmak için F5 tuşuna basın.
Geliştirici sekmesinin Kod grubunda Visual Basic'e tıklayın.
Visual Basic Düzenleyicisi açılır.
Ekle menüsünde Modül'e tıklayın.
Aşağıdaki kodu yeni modüle ekleyin.
Bu kod, özelleştirme derlemesindeki yöntemini çağırır
CreateTable
. Makro, nesnesinin özelliğini kullanarak bu yöntemeCallVSTOAssembly
erişirThisDocument
. Bu kılavuzun önceki bölümlerinde EnableVbaCallers özelliğini ayarladığınızda bu özellik otomatik olarak oluşturulmuştur.Sub CreateTable() Call ThisDocument.CallVSTOAssembly.CreateTable("Employee Name", "Start Date") End Sub
F5 tuşuna basın.
Belgeye yeni bir tablo eklendiğini doğrulayın.
Değişikliklerinizi kaydetmeden Word'de çıkın.
Sonraki adımlar
VbA'dan Office çözümlerinde kod çağırma hakkında daha fazla bilgiyi şu konularda bulabilirsiniz:
VBA'dan Visual C# özelleştirmesinde kodu çağırın. Bu işlem Visual Basic işleminden farklıdır. Daha fazla bilgi için bkz . İzlenecek yol: Visual C# projesinde VBA'dan kod çağırma.
VBA'dan bir VSTO Eklentisindeki kodu çağırma. Daha fazla bilgi için bkz . İzlenecek yol: VBA'dan VSTO Eklentisinde kod çağırma.