Reklam ver...

VBA programlama ile nokta listesini EXCEL’e aktaralım.



Yazar Suphi Tunalı
Mesleği Harita ve İnşaat Teknikeri
  AutoLISP ve VBA programcısı
web  
e-mail  

AutoCAD 12 ve üzeri, MS EXCEL 2003

Merhabalar,

Bugün; VBA ile AutoCAD için yazılım geliştirme tekniklerini anlatmaya devam edeceğim. Bir önceki makalemde görsel tasarımını ve kod yazımını anlattığım programa birlikte yeni bir fonksiyon ekleyelim. Şimdi tasarladığımız programdan bahsedelim ve sonuç olarak nerede kaldığımızı hatırlayalım.

Tasarladığımız program; birinci işlevde, AutoCAD’in grafiksel ortamından cursor yardımı ile kullanıcının gösterdiği noktaları işaretleyip, eş zamanlı olarak kullanıcının belirlediği seçenekler doğrultusunda seçilen noktalara, seçim sırasını belirten sıra no ve kullanıcı tarafından girilen metin ekliyordu. İkinci işlevde ise kullanıcı tarafından seçilen noktaların koordinat bilgilerini içeren bir tablonun AutoCAD’in grafiksel ortamına eklenmesi işlemini gerçekleştiriyordu. Programa yeni dâhil edeceğimiz seçilen noktaların koordinat bilgilerini Ms Excel programına gönderilmesi fonksiyonu ise üçüncü işlevi oluşturacaktır.

İlk adım olarak, projeyi AutoCAD ortamına “Tools\Macro\Load Project…” yolunu izleyerek yüklüyoruz ve ardından “Tools\Macro\Visual Basic Editor” yolundan da VBA editörünü çalıştırıyoruz.

Programımız ana yapısını oluşturan UserForm nesnesine yeni bir CommandButton kontrol nesnesi ekliyoruz. CommandButton nesnesinin özelliklerini Tablo-1 deki gibi değiştirelim. Tasarım aşamasındaki UserForm’un görünümü Şekil-1 de verilmiştir.

Fig.1
Fig.2
Şekil -1 Tasarım halindeki UserForm Görünümü

Tasarladığımız programlar, eğer harici bir program üzerinden veri alışverişi gerçekleştirecek ise, bağlantı kurulacak olan programın alt yapısını, projemize entegre etmemize olanak sağlayacak bir takım referans dosyalara ihtiyaç duyarlar. Bu referans dosyaları, “Tools\Referances…” yolu izlenerek projemize dahil edilir. Tasarladığımız programda Microsof Excel ile bağlantı kurulacağından ilgi referans dosyasını Şekil-2 deki gibi seçerek projemize dahil edelim. (Çalıştığım bilgisayarda Ms Excel 2003 sürümü yüklü olmasından dolayı, Microsoft Excel 11.0 Object Library referansı var. Bu referans dosyası yüklü olan Ms Excel sürümüne göre farklılık gösterebilir). Kod açıklamalarını, yine kod yazımı ile birlikte yaptım. Böylelikle açıklamaların altında yer alan kodlarla neyin yapılmak istendiği daha açık bir şekilde anlaşılabiliyor.

Fig.3
Şekil -2 References Diyalog Kutusunun Görünümü

Send to Excel Butonu kodları



Fig.6

Form Aktive (yüklenirken) edilirken kullanılacak kod, Form Aktive yordamına sadece sarı renk ile markalanmış kodları ekleyeceğiz.

İlgili kodların yazımını gerçekleştirdikten sonra programımızı tamamlamış bulunuyoruz. Programın çalışır durumdaki son form görünümü Şekil-3 deki gibidir. Programın Ms Excel çıktısı ise Şekil-4 de görülmektedir. Programlama ile uğraşan arkadaşlar için umarım bu bilgiler yaralı olur. Yeni bir yazıda buluşmak üzere şimdilik hoşakalın…


Şekil 3: Tasarımı Tamamlanmış UserForm Görünümü


Şekil 4: Programın Ms Excel çıktı görüntüsü

İlgili Dosyalar:

  • Download: Project1.zip  Project1.zip
     
    »(17 KB, 129 hits, 2008 March 4),
     
    Örnek VBA uygulaması - Suphi TUNALI / (c)2007 AutoCAD Günlüğü

İlgili Yazılar:

Rastgele bir yazı

1 Votes | Average: 5 out of 51 Votes | Average: 5 out of 51 Votes | Average: 5 out of 51 Votes | Average: 5 out of 51 Votes | Average: 5 out of 5 (1 oy, ortalama: 5)
Loading ... Loading ...

8 yorum “VBA programlama ile nokta listesini EXCEL’e aktaralım.”

  • 1
    ahmet odabaş
    17 March 2008, Monday 13:52

    suphi bey elinize sağlık oldukça güzel anlatmışsınız devamını bekleriz.tşkrler ;)

  • 2
    Erhan Toker
    19 March 2008, Wednesday 11:11

    Suphi Merhaba,
    Genel olarak birkaç şey yazmak istiyorum.
    Suphi kardeşimiz, son derece titiz ve detaylı çalışmalar yapıyor. Yazdığı kod profesyonel anlamda bir çok standarda uyuyor. Satır arası açıklamaları, hata kontrolleri ve herşey mükemmel.
    Türk gençlerinde görmek istediğimiz, çalışkanlık, kararlılık, doğruluk ve titizlik Suphi arkadaşımızda mevcut.
    Ona bu çalışması için ve bizleri bilgilendirdiği için çok teşekkür ederiz.

  • 3
    Suphi Tunali
    20 March 2008, Thursday 9:11

    Erhan Bey olumlu yondeki bu yorumunuz icin cok tesekkur ediyorum.

  • 4
    arda
    26 March 2008, Wednesday 11:47

    çalışmanı inceledim çok güzel olmuş.yanlız beni isdegim olcak bana makro lazım seçilen noktaların n.nosu y,x,z ve tablo şeklinde ekrana yazdırmak isdiyorum ekran görüntüsüde koyyorum yardımcı olursan sevinirim.

  • 5
    Suphi Tunali
    26 March 2008, Wednesday 13:11

    merhaba arda,

    Bu makro ile, istemis oldugun islemi zaten gerceklestirebiliyorsun. Makalenin altindaki ilgili dosyalar kismindan veya http://www.autocadgunlugu.com/?dl_id=10 linkinden makroyu bilgisayarina indirip incelersen problemini cozebilirsin.

  • 6
    arda
    26 March 2008, Wednesday 17:34

    yani aynı ekrana tıkladıgım yere tablo şeklinde yazacak

  • 7
    arda
    26 March 2008, Wednesday 17:35

    ekran görüntüsü eklemişdim inceledinizmi
    bende haritacıyım

  • 8
    Suphi Tunalı
    26 March 2008, Wednesday 21:33

    iyi aksamlar arda,
    tam olarak nasıl birsey istedigini anlayamadım ama, sanırım nokta seçildiği anda eş zamanlı olarak seçilen noktanın yanına nokta no ve koordinat değerlerinin yazılmasını istiyorsun. Bu makro zaten bunu yapıyor. Bundan önceki yazımı incelersen durumu daha iyi anlayabilirsin. http://www.autocadgunlugu.com/vba-ile-autocad-icin-yazilim-gelistirme/#more-615

Yorum bırak