Autocad VBA Makro Kodlarını Çalıştırma Yöntemleri:
7) Userformda komut butonu ile makro çalıştırma
Excel VBA editöründe olduğu gibi AutoCAD VBA editöründe de
UserForm oluşturma imkanı vardır. UserForm; kullanıcı ile
program arasında iletişimi sağlayan Windows standart uygulama penceresidir.
- VBA Editöründe menüden Insert / UserForm tıklayın ya da Proje Ağacında; Sağ tıkla / Insert / UserForm
- Açılan UserForm1 penceresine Toolbox Araç çubuğundaki Controls sekmesindeki CommandButton üzerinde tıklayın
- UserForm1 üzerinde buton oluşturmak ve boyutunu ayarlamak için fare ile dikdörtgen çizin.
- Buton üzerinde görünen metni (CommandButton1) değiştirmek için buton seçili iken Properties (Kısayol: F4) penceresinde Caption alanındaki CommandButton1 metnini silip Eksen Çiz yazıp Entere basın.
- Eksen Çiz butonu tıklandığında işletilecek kodları yazalım.
- Eksen Çiz butonunu çift tıklayın. Kod penceresi açılacak. Aşağıdaki kodları bu pencerede oluşturun.
Private Sub CommandButton1_Click() Call ThisDrawing.EksenCiz End Sub
- Bu kod çalıştığında ThisDrawing kod penceresindeki EksenCiz alt rutinini çalıştırır. O yüzden AutoCAD ile VBA Makro kullanımı #4-1 sayfamdaki kodu Proje Ağacındaki ThisDrawing'i çift tıklayıp açılan kod penceresine ekleyin.
- EksenCiz kodları UserForm1 kod penceresine de eklenebilirdi ancak bazı değişiklikler yapmak gerekir.
- Oluşturduğumuz Form'u çalıştırmak için: Form seçili iken klavyeden F5e basın.
- Form çalışacak ancak Eksen Çiz butonu tıklandığında hata oluşacak.
- Bu hatayı gidermek için: VBA editöründe UserForm1 seçili iken Properties penceresinde ShowModal özelliğini False olarak değiştirin.
- F5e basarak tekrar formu çalıştırın.
- AutoCAD ekranına geçecek ve Form onun üzerinde belirecek.
- Çalışan Formdaki Eksen Çiz butonunu tıklayın. EksenCiz makrosu çalışacak.
VBA editöründeyken F5 ile formu çalıştırmıştık ancak AutoCAD
ekranında formun çalışması için bir makro kodu gereklidir.
- VBA editöründe menüden Insert / Module tıklayın. Proje Ağacına Module1 eklenecek ve Kod alanında Module1 kod penceresi açılacak.
- Module1 Kod penceresine aşağıdaki kodu ekleyin.
Sub Komutlar() UserForm1.show End Sub
Aynı yolları takip ederek UserForm'a varsa diğer makro kodları için de butonlar oluşturabilirsiniz.
Hiç yorum yok:
Yorum Gönder