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 projeler 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.
Konaklama öğesi sınıfına
ThisDocumentbir yöntem ekleme.yöntemini VBA koduna ifşa etme.
VBA kodundan metodu çağırma.
Uyarı
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 kılavuzu 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 adlı bir Word Macro-Enabled Belgesi (*.docm) olarak kaydedin. Masaüstü gibi uygun bir konuma kaydedin.
Şeritte Geliştirici sekmesine tıklayın.
Uyarı
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
ThisDocumentkod 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 SubBelgeyi kaydedin ve Word'dan çıkın.
Projeyi 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 başlatı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 alanına CallingCodeFromVBA yazın.
Tamam'a tıklayın.
Office için Visual Studio Araçları Proje Sihirbazı 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'ne 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ı'na 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 olarak ayarla 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'den çı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'ndeThisDocument.vb 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
ThisDocumentekleyin. 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 SubProjeyi oluşturun.
yöntemini VBA kodunda kullanıma sunma
Yöntemini belgedeki CreateTable VBA koduna göstermek için konak öğesinin ThisDocument özelliğini True olarak ayarlayın.
Yöntemini VBA kodunda kullanıma sunma
Çözüm Gezgini'ndeThisDocument.vb ç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 oluşturun.
VBA kodundan yöntemini çağırma
Artık belgedeki CreateTable VBA kodundan yöntemini çağırabilirsiniz.
Uyarı
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öntemi ç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,ThisDocumentnesnesininCallVSTOAssemblyözelliğini kullanarak bu yönteme erişir. 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 SubF5tuşlarına basın.
Belgeye yeni bir tablo eklendiğini doğrulayın.
Değişikliklerinizi kaydetmeden Word'den çıkış yapı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. VBA'dan VSTO Eklentisinde Kod Çağırma: Adım Adım Rehber.