Aşağıdaki VBA kodu üzerinde çalışıyorum.. b1 klasörü içine kayıt yapıyorum. Fakat seçerek blok oluşturur gibi kayıt yapmalıyım. bunun için ne gibi değişiklik veya ekleme yapmalıyım.?
yardımcı arkadaşa şimdiden Teşekkürler...
Mevcut halde Çizimi belirtilen Klasöre kayıt ediyor.
Kod:
Sub BlockSave()
Dim folder As String
Dim fName As String
Dim sec As AcadSelectionSet
folder = "E:\Hesfiles\b1"
dosyaAdi = InputBox("Dosya Adını Giriniz : ", folder)
If dosyaAdi = "" Then
MsgBox "İşlem iptal edildi."
Exit Sub
End If
Merhaba k005, gerçekten uzun zaman sonra yazdın. Tekrar hoş geldin.
Aslında sorunun cevabı çok basit görünüyor. Basit göründüğü için de acaba ben mi yanlış anladım diye düşünmekten kendimi alamadım.
ThisDrawing.SaveAs şeklinde kullandığın komutun genel formatı, object.SaveAs FileName [, FileType] [, SecurityParams] biçimindedir.
Burada "object" olarak ThisDrawing koyunca haliyle çizimin tamamını yeni dosyaya yazıyor.
Yola çıkarken, daha doğrusu soruyu sorarken "seçerek block oluştur gibi kayıt yapmak..." diyince iş karışıyor. İstenen, AutoCAD wblock (write block) işleminde olduğu gibi yeni oluşturulacak dosyayı seçilen objelerden oluşan dosya yapmak mı? yoksa Yeni dosya içinde seçili objelerden oluşan bir Block oluşturmak mı?
İyi de attığımız taş ürküttüğümüz kuşa değmedi. Bu kadar debeleneceğimize AutoCAD komut satırından çok kolayca yapabiliriz bu işi. Başka konular altında da yazmışlığım vardır; AutoCAD komutlarıyla kolayca yapabileceğin hiç bir şey için program yazma!
Ele aldığım konunun yalnızca bir kısmı, daha büyük bir düşüncenin bir parçası bu, diyor ve ille de yazacağım diyorsan, çok basit bir yöntem: object.WBlock FileName, SelectionSet
Burada object yerine ThisDrawing koymak gerek. ThisDrawing.WBlock FileName, SelectionSet