20 Haziran 2019 Perşembe

AutoCAD ile VBA makro kullanımı #4-2


Bu bölümde aşağıdaki başlıklar olacak.
  • VBA kodlarını çizim dosyasına gömme (Embed)
  • Çizim dosyasında gömülü kodları ayırma (Extract)
  • VBA kodları Dışa aktarma (Export)
  • VBA kodları İçe aktarma (Import)
  • Kodları belleğe yükleme / kaldırma

VBA kodlarını çizim dosyasına gömme (Embed)

Daha önceki videolarda bahsetmiştim. AutoCAD VBA kodları çizim dosyasından ayrı bir dosya olarak kaydedilmektedir. Çizim dosyası DWG olarak VBA kodları ise DVB olarak kaydedilir. Excel VBA daki gibi değildir. Excelde dosyayı kaydettiğinizde dosya ile beraber VBA makro kodları da kaydedilir. Ancak Exceldeki gibi AutoCAD'de de çizim ile VBA kodlarını tek dosyada kaydetme imkanı vardır. Bunun için bir işlem yapılması gerekir. Bu işlem; vba kodları çizim dosyasına gömme(embed)

Yapılışı:

Komut satırından VBAMAN girilir.
Projects listesinde bellekte yüklü olan vba projeleri görünecek.
Proje adı seçilir.
Embed butonu tıklanır.
Bir dosyaya aynı anda bir proje gömülebiliyor. Üstteki resimde de görüldüğü gibi Embedded Project yanında eklenen proje adı görülüyor. Hangi dosyaya eklendiği ise Drawing altında ve proje listesinde gösteriliyor. Ayrıca gömülen projenin kendisi de hâlâ bellekte yüklüdür.
O yüzden proje listesinde 2 tane aynı proje adı görünmektedir. İstenirse 2.si bellekten atılabilir(unload)

Artık VBA kodları DWG dosyaya eklendiği(gömüldüğü) için dwg dosya kaydedildiğinde vba kodlarıyla beraber kaydedilir. DWG dosya açıldığında da beraberindeki gömülü vba kodları da yüklenir. Çizimde ve kodlarda yapılan değişikler çizim dosyası kaydedildiğinde beraberinde kaydedilmiş olur.

Ancak vba kodları dwg dosyaya gömmenin bir dezavantajı olacaktır. Normalde yüklenen vba kodları açılan ya da yeni oluşturulan dwg dosyalarda kullanılabilirken gömülü kodlar yalnızca gömülmüş çizim dosyası içerisinde kullanılabilir. Bu işlemin tersi de mevcuttur tabii ki. Yani gömülü kodları çizimden ayırma(extract)

Çizim dosyasında gömülü kodları ayırma (Extract)

Embed ile çizim dosyasına eklenmiş vba kodları ayırmak için yapılacaklar:
VBAMAN komutu verilir


Embedded Project: yanında dosyaya ekli proje adı görülür.
Extract butonu tıklanır.
Kodlar çizim dosyasından ayrılıp atılacağı(silineceği) için kodların kaybedilmemesi için ayrı bir DVB dosyasına kaydetme için uyarı penceresi açılır.
Burada, Evet ile; ekli kodlar ayrılır ve DVB dosyasına kaydedilir.
Hayır ile; ekli kodlar ayrılır ve silinir. Dikkat!
İptal ile extract işleminden vazgeçilir.

VBA kodları Dışa aktarma (Export)

VBA editör penceresindeki kodları başka uygulamalarda ve yerde kullanmak ya da bir tür yedekleme yapmak için kodları salt metin(text) olarak kaydetmek mümkündür.
Bunun için menüden File / Export File... Ctrl+E tıklanır.
Açılan pencerede dosya adı ve konumu belirtilir. Kayıt gerçekleştirilir.
ThisDrawing içindeki kodlar .CLS olarak,
Modules içindeki kodlar .BAS olarak,
Forms içindeki kodlar ise .FRM olarak kaydedilir.
Kaydedilen dosyalar herhangi bir metin editöründe açılıp düzenlenebilir ve kaydedilebilir.

VBA kodları İçe aktarma (Import)

Export işleminin tersidir. .CLS, .BAS, .FRM olarak kaydedilmiş dosya içerisindeki kodlar VBA editör penceresinde uygun konuma eklenir.

Kodları belleğe yükleme

DVB dosyaları yüklemek için birkaç yol var.
  1. DVB Dosyayı sürükleyip AutoCAD çizim alanı içine bırakarak.
  2. VBAMAN komutu ve açılan pencerede LOAD... butonu tıklanıp DVB dosya seçilerek.
  3. Komut satırından VBALOAD komutu ile: Komut verilir ve DVB dosya seçilir.
  4. Komut satırına
    -VBALOAD "C:\Users\Mesut\Desktop\EksenCiz4.dvb" yazarak.
  5. Menüden Manage / Load Application / Açılan pencerede DVB dosya seç / Load tıkla
  6. Komut satırından APPLOAD komutu ile: Komut sonrası açılan pencere DVB dosya seçilir.
Ne gariptir ki DVB dosyalar VBA editörü tarafından yüklenmemektedir.

Yüklü VBA kodlarını kaldırma:

Bunun için VBAMAN komutu verilir proje listesinden proje adı seçilir UNLOAD butonu tıklanır ya da APPLOAD komutu verilir açılan pencerede Loaded Applications listesinde Proje dosyası seçilir UNLOAD butonu tıklanır.

Hiç yorum yok:

Yorum Gönder