VBA kodlarıyla Microsoft Office programlarına bağlantı kurulabilir ve programla ilgili birçok işlem yaptırılabilir.
AutoCAD VBA'dan Excel'e bağlantı kurulabildiği gibi tersi de mümkündür
Hatta birçok uyumlu Windows programı birbiri ile bağlanıp kodlarla işlemler yapabilir.
Bu videoda AutoCAD VBA ile Excel'e bağlanmayı ve veri aktarmayı göstermeye devam ediyorum.
Excel ile bağlantı kurmak için 2 yöntem var.
1) Erken bağlama. Early Binding
2) Geç bağlama. Late Binding
Yöntemlerin avantaj ve dezavantajları
Erken bağlama:
Avantajları:
- Çalışması daha hızlıdır.
- Intellisense(Akıllı kod tamamlama) bağlanan nesnelerde kullanılabildiği için kod yazımı daha kolaydır.
- Programın başlangıcında tüm değişkenlere değer atama işlemini yapar. Bu nedenle, programın bellek kullanımı artabilir.
Dezavantajları:
- Referans eklenmelidir. Ekli değilse çalışmaz.
Geç bağlama:
Avantajları:
- Referans eklemek gerekli değildir. Kullanıcının bir işlem yapması gerekmez.
- Bellek kullanımı verimlidir.
Dezavantajları:
- Nesneye bağlanma çalışma zamanında gerçekleştiği için yavaş çalışır.
- Intellisense(Akıllı kod tamamlama) bağlanan nesnelerde çalışmaz. Bu yüzden kod yazmak zorlaşır.
Videoda kullanılan VBA kodları:
Sub exceleYaz3() '2. yöntem: Geç bağlanma. Late Binding Dim xla As Object 'nesne için değişken tanımla Set xla = CreateObject("Excel.Application") 'excel nesnesi oluşturup değişkene aktar xla.Visible = True 'ekranda excel nesnesini göster Dim wb As Object 'nesne için değişken tanımla Set wb = xla.workbooks.Add 'Yeni dosya oluştur. Dim sayfa As Object 'nesne için değişken tanımla Set sayfa = wb.worksheets.Add 'yeni dosya oluştur sayfa.Name = "TEST" 'sayfa adını değiştir. sayfa.cells(4, 3) = "Merhaba" 'satır 4, sütun 3'e Merhaba yaz End Sub Sub exceleYaz2() '1. yöntem: Erken bağlanma. Early Binding 'Tools / References / Microsoft Excel xx.x Object Library ekle Dim xla As Excel.Application 'excel uygulamasını örnek alan nesne oluştur Set xla = CreateObject("Excel.Application") 'excel nesnesi oluşturup değişkene aktar xla.workbooks.Add 'Yeni dosya oluştur. xla.Visible = True 'ekranda excel nesnesini göster 'xla.Worksheets.Add 'yeni excel sayfası ekle Dim sayfa As Excel.Worksheet 'excel sayfası nesnesi Set sayfa = xla.worksheets.Add 'yeni excel sayfası ekle sayfa.Name = "TEST" 'sayfa adını değiştir Set sayfa = xla.worksheets(2) 'excel 2. sayfa sayfa.Activate 'sayfayı aktif et With sayfa.Range("B3") .Value = "Merhaba" 'Satır 3, Sütun 2'ye Merhaba yaz .Interior.color = vbRed 'zemin rengi kırmızı .Font.color = vbWhite 'yazı rengi beyaz .Font.Bold = True 'kalın yazı '.Select 'B3 hücresini seç End With End Sub Sub exceleYaz1() '1. yöntem: Erken bağlanma. Early Binding 'Tools / References / Microsoft Excel xx.x Object Library ekle Dim xla As Excel.Application 'excel uygulamasını örnek alan nesne oluştur Set xla = CreateObject("Excel.Application") 'excel nesnesi oluşturup değişkene aktar xla.workbooks.Add 'Yeni dosya oluştur. xla.Visible = True 'ekranda excel nesnesini göster With xla.Application.Range("B3") .Value = "Merhaba" 'Satır 3, Sütun 2'ye Merhaba yaz .Interior.color = vbRed 'zemin rengi kırmızı .Font.color = vbWhite 'yazı rengi beyaz .Font.Bold = True 'kalın yazı .Select 'B3 hücresini seç End With xla.Quit 'Exceli kapat End Sub
Hiç yorum yok:
Yorum Gönder