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