12 Ekim 2023 Perşembe

AutoCAD VBA. Excele veri yaz-2


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