Aracılığıyla paylaş


İzlenecek yol: Visual Basic projesindeki vba kodu arama

Bu anlatımda, belgenin Visual Basic for Applications (VBA) kodundan Microsoft Office Word'deki Belge düzeyi özelleştirmesinde yöntemin nasıl çağrılacağını gösterilir. Yordam üç basit adımı içerir: bir yöntem ekleme ThisDocument konak öğesi sınıfına, vba kodunda yöntemi oluşturma ve yöntemi belgedeki vba kodundan çağırma.

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

Burada özellikle Word kullanılıyor olsa da, izlenecek yol tarafından gösterilen kavramlar Excel belge düzeyi projelerine de uygulanabilir.

Bu örneklerde aşağıdaki görevler gösterilir:

  • VBA kodu içeren bir belge oluşturma.

  • Belgenin konumuna Word'de Güven Merkezi kullanarak güvenme .

  • ThisDocument konak öğesi sınıfına bir yöntem ekleme.

  • VBA kodunda yöntemi oluşturma.

  • VBA kodundan yöntemi çağırma.

[!NOT]

Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arayüzü öğelerinden bazıları için farklı adlar veya konumlar gösterebilir.Bu öğeleri bilgisayarınızdaki Visual Studio sürümü ve kullandığınız ayarlar belirler.Daha fazla bilgi için bkz. Visual Studio ayarları.

video bağlantısı İlgili video gösterimi için bkz: nasıl yapmak ı: çağrı vsto Kodu VBA'den?.

Önkoşullar

Bu örneği tamamlamak için aşağıdaki bileşenler gerekmektedir:

-

Microsoft Office geliştirici araçlarını içeren bir Visual Studio 2012 sürümü. Daha fazla bilgi için bkz: [Office Çözümeri Geliştirmek İçin Bilgisayarı Yapılandırma](bb398242\(v=vs.110\).md).
  • Word 2013 veya Word 2010.

VBA Kodu İçeren Bir Belge Oluşturma

İlk adım, basit VBA makrosu içeren, makro içerebilen bir belge oluşturmaktır.Belge, siz ona bağlı olan bir Visual Studio projesi yaratmadan önce VBA projesi içermelidir. Aksi durumda, Visual Studio, özelleştirme derlemesini çağırmak için VBA kodunu etkin kılma amacıyla VBA projesini değiştiremez.

Kullanmak istediğiniz VBA koduna sahip olan bir belgeniz varsa, bu adımı geçebilirsiniz.

VBA kodu içeren bir belge oluşturmak için

  1. Word’ü başlatın.

  2. Etkin belgeyi Word Macro-Enabled Document (*.docm) olarak DocumentWithVBA ismiyle kaydedin.Onu, masaüstü gibi kullanışlı bir konuma kaydedin.

  3. Şerit'te Developer (Geliştirici) sekmesine tıklatın.

    [!NOT]

    Geliştirici sekmesi görünür değilse önce onu görünür yapın.Daha fazla bilgi için bkz. Nasıl yapılır: Şerit'te Geliştirici sekmesini göster.

  4. Kod grubunda Visual Basic'i tıklatın.

    Visual Basic Düzenleyicisi açılır.

  5. Proje penceresinde, ThisDocument'ı çift tıklayın.

    ThisDocument nesnesi için kod dosyası açılır.

  6. Aşağıdaki VBA kodunu kod dosyasına ekleyin.Bu kod hiçbir şey yapmayan basit bir işlevi tanımlar.Bu işlevin tek amacı, VBA projesinin belgede varolduğunu doğrulamaktır.Bu, anlatımın sonraki adımları için gereklidir.

    Sub EmptySub()
    End Sub
    
  7. Belgeyi kaydedin ve Word'den çıkın.

Projeyi Oluşturma

Önceden yarattığınız, makro içerebilen belgeyi kullanan Word belge düzeyi projesini artık oluşturabilirsiniz.

Yeni bir proje oluşturmak için

  1. Visual Studio uygulamasını başlatın.

  2. Dosya menüsünde, Yeni'nin üzerine gelin ve Proje'ye tıklatın.Eğer tümleşik geliştirme ortamınız Visual Basic geliştirme ayarlarını kullanmaya ayarlanmışsa Dosya menüsünden Yeni Proje'yi tıklayın.

  3. Şablonlar bölmesinde genişletin Visual Basicve sonra genişletin Office/SharePoint.

  4. Seçin Office eklentileri düğümü.

  5. Proje şablonları listesinde seçin Word 2010 Belgesi veya Belgesine 2013 proje.

  6. İçinde adı kutusunda, CallingCodeFromVBA yazın.

  7. Tamam düğmesini tıklatın.

    Office için Visual Studio Araçları Sihirbaz'ı açılır.

  8. Varolan belgeyi kopyala'yı seçin ve Varolan belgenin tam yolu kutusunda, önceden oluşturduğunuz DocumentWithVBA belgesinin konumunu belirleyin.Eğer kendi makro içerebilen belgenizi kullanıyorsanız, bu belgenin konumunu belirleyin.

  9. Son düğmesini tıklatın.

    Visual Studio tasarımcıda DocumentWithVBA belgesini açar ve Çözüm Gezgini'ne CallingCodeFromVBA projesini ekler.

Belgenin Konumuna Güvenme

Çözümünüzdeki kodu belgedeki VBA kodunda oluşturmadan önce, belgedeki VBA'yı çalıştırmak için ona güvenmelisiniz.Bunu yapmanın birkaç yolu vardır.Bu anlatım için, Word'de Güven Merkezi'ndeki belgenin konumuna güvenin.

Belgenin konumuna güvenmek için

  1. Word’ü başlatın.

  2. Dosya sekmesini tıklatın.

  3. Word Seçenekleri düğmesini tıklayın.

  4. Kategoriler bölmesinde Güven Merkezi seçeneğini tıklayın.

  5. Detaylar bölmesinde, Güven Merkezi Ayarları'nı tıklayın.

  6. Kategoriler bölmesinde Güvenilen Konumlar seçeneğini tıklayın.

  7. Ayrıntılar bölmesinde, Yeni konum ekle'yi tıklayın.

  8. İçinde Microsoft Office güvenilen konumu iletişim kutusunda, CallingCodeFromVBA projesini içeren klasörü bulun.

  9. Bu konumun alt klasörleri de güvenilirdir'i seçin.

  10. Microsoft Office Güvenilir Konum iletişim kutusunda Tamam'ı tıklayın.

  11. Güven Merkezi iletişim kutusunda Tamam'ı tıklayın.

  12. Word Seçenekleri iletişim kutusunda Tamam'ı tıklayın.

  13. Word'den çıkın.

ThisDocument Sınıfına Bir Yöntem Ekleme

VBA projesi kurulduğunda, VBA kodundan çağırabileceğiniz ThisDocument konak öğesi sınıfına bir yöntem ekleyin.

ThisDocument sınıfına bir yöntem eklemek için

  1. Çözüm Gezgini'de ThisDocument.vb dosyasını sağ tıklayın ve ardından Kodu Göster'i tıklayın.

    ThisDocument.vb Kod Düzenleyici'sinde açılır.

  2. Aşağıdaki yöntemi ThisDocument sınıfına ekleyin.Bu yöntem, belgenin başında iki satırlı ve iki sütunlu bir tablo oluşturur.Parametreler, ilk satırda görüntülenen metni belirler.Bu anlatımda, 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
    
  3. Projeyi yapılandırın.

VBA Kodunda Yöntemi Oluşturma

Belgedeki VBA kodunda CreateTable yöntemini oluşturmak için, EnableVbaCallers özelliğini ThisDocument konak öğesi için True'ya ayarlayın.

VBA kodunda yöntemi oluşturmak için

  1. Çözüm Gezgini'nde, ThisDocument.vb dosyasını çift tıklayın.

    DocumentWithVBA dosyası tasarımcıda açılır.

  2. Özellikler penceresinde, EnableVbaCallers özelliğini seçin ve değerini True olarak değiştirin.

  3. Görüntülenen iletide Tamam'ı tıklayın.

  4. Projeyi yapılandırın.

VBA Kodundan Yöntemi Çağırma

CreateTable yöntemini belgedeki VBA kodundan çağırabilirsiniz.

[!NOT]

Bu anlatımda, projede hata ayıklarken VBA kodunu belgeye ekleyeceksiniz.Bu belgeye eklediğiniz VBA kod, siz projeyi bir sonraki seferde yapılandırdığınızda yeniden yazılır, çünkü Visual Studio yapı çıktısı klasöründeki belgeyi, ana proje klasöründeki belgenin kopyasıyla değiştirir.VBA kodunu kaydetmek istiyorsanız, proje klasöründeki belgenin içine kopyalayabilirsiniz.Daha fazla bilgi için bkz. VBA ve Belge Düzeyi Özelleştirmelerini Birleştirme.

VBA kodundan yöntemi çağırmak için

  1. F5 tuşuna basarak projeyi çalıştırın.

  2. Geliştirici sekmesindeki Kod grubunda, Visual Basic'i tıklatın.

    Visual Basic Düzenleyicisi açılır.

  3. Ekle menüsünde Modül komutunu tıklatın.

  4. Aşağıdaki kodu yeni bir modüle ekleyin.

    Bu kod, özelleştirme derlemesindeki CreateTable yöntemini çağırır.Makro, bu yönteme ThisDocument nesnesinin CallVSTOAssembly özelliğini kullanarak erişebilir.Bu özellik, bu anlatımın başında EnableVbaCallers özelliğini değiştirdiğiniz zaman otomatik olarak yaratılır.

    Sub CreateTable()
        Call ThisDocument.CallVSTOAssembly.CreateTable("Employee Name", "Start Date")
    End Sub
    
  5. F5'e basın.

  6. Yeni bir tablosunun belgeye ekli olduğunu doğrulayın.

  7. Değişiklikleri kaydetmeden Word'den çıkın.

Sonraki Adımlar

Bu konularda, VBA'den Office çözümlerindeki kodu çağırma hakkında daha fazlasını öğrenebilirsiniz.

Ayrıca bkz.

Görevler

Nasıl yapılır: Visual Basic projesindeki vba koduna açığa çıkaran

Nasıl yapılır: Visual C# projesi, vba kodu göstermek

İzlenecek yol: Visual C# projesi, vba kodu arama

Diğer Kaynaklar

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

Belge Düzeyi Özelleştirmelerini Programlama