Merhaba.
Tamam makroa bağlanabilir misiniz?
Kodla o kadar kopyalanmış ve tercüme etmek size yardımcı olmak zordur.
Bir makro yarattım (Geçmişlerden biri ile bir araya gelen derinak'ın makrolarından birinden kod bulmak için teşekkürler)
- bir klasör seçimi kutusu açın (kullanıcının bir klasör seçtiği yerde)
- seçilen klasördeki tüm çizim dosyaları açın (biri diğerinden sonra biri)
- dizide "pdf" olarak adlandırılan bir klasör olup olmadığını görmek için kontrol edin, o zaman bir tane oluşturmuyorsa
- açık çizim dosyasını bir pdf olarak, referans modeldeki özel özelliklerden isim olarak inşa edin.
- Çizimi kapat
- Bir sonrakiye kadar
Şu anda kodumda (ve makro dosyayı ekledim, çünkü açılan klasör modülü vardır) makro, çizimi tamamlamak ve msgbox'ı "pdf" klasörünin var olup olmadığını gösterir, eğer klasör mevcut değilse, açık çizimi kurtarır ve "sfilename =" dir.
"If i comment out the "if Shar(pdfpath, vb.) = "" o zaman mkdir pdfpath" ve "pdfpath=currpath" mükemmel bir şekilde çalışır ve tüm çizimleri seçilir.
Herkes bunu çözmeme yardım edebilir, bu yüzden bu pdf klasörü yaratır ve pdf'leri onu kurtarır mı?
seçeneği açık
dim, işleri mahvediyor. sldworks
dim swmodel as sldworks.modeldoc
dim sfilename as string
dim vfilename as string
dim yolu olarak
dim npath as string
dim nerrors as long
dim nwarnings as long
dim sldworks olarak battı.drawingdoc
dim swcustpropertymanager
dim swview as sldworks. bakış görünümü
dim yapılandırma adı
dim i as long
dim valout1 as string
dim valout2 as string
dimvalout1 as string
dimvalout2 as string
dim partno as string
dim nfilename as string
dim swdocs as variable
dim pdfpath as string
dim currpath as string
dim partnodes as string
alt ana()
Ayarlama = uygulama. sldworks
Yol = Gözcü("select a road/folder")
yol = yol + "\"
sfilename = dir(path & "*.slddrw")
sfilename = ""
swmodel = exchangep.opendoc6 (path + sfilename, swdocdrawing, swopendocoptions_silent, "", nerrors, nwarnings)
swmodel = exchangep.activedoc
swdraw = exchangep.activedoc
swview = swdraw.get Firstview = swdraw.get
swview = swview.get nextview
swmodel = swview.referenceddocument
currpath = left(swdraw.getpathname, instrrev (swdraw.getpathname, "\"))
pdfpath = currpath & "pdf"
Eğer korkunç (pdfpath, vb.) = "" sonra mkdir pdfpath
Eğer swmodel. gettype = swdocpart sonra
Partnodes = mid(swdraw.getpathname, instrrev (swdraw.getpathname, "\") + 1) + 1)
partnodes = right(partnodes, len(partnodes) - 14)
partnodes = left(partnodes, len(partnodes) 7)
partno = orta (swmodel.getpathname, instrrev(swmodel.getpathname, "\") + 1)
partno = sol (partno, len(partno) - 7)
swcust = swmodel.exction.custompropertymanager(swview.referenced configureuration)
Formname = swview.referenced
swcustprop.get2 "description", valout1, çözüldüvalout1
swcustprop.get2 "revision", valout2, çözüldüvalout2
nfilename = pdfpath & "\" & partno & "-" & configurename & "-" & solutionvalout2 & " & partnodes
swdraw. saveas3 nfilename & ".pdf", 0, 0, 0
Başka bir swmodel. Tür = swdocassembly sonra
Partnodes = mid(swdraw.getpathname, instrrev (swdraw.getpathname, "\") + 1) + 1)
partnodes = right(partnodes, len(partnodes) - 11)
partnodes = left(partnodes, len(partnodes) 7)
partno = orta (swmodel.getpathname, instrrev(swmodel.getpathname, "\") + 1)
partno = sol (partno, len(partno) - 7)
swcust = swmodel.exction.custompropertymanager ()
swcustprop.get2 "description", valout1, çözüldüvalout1
swcustprop.get2 "revision", valout2, çözüldüvalout2
nfilename = pdfpath & "\" & partno & "-"&devalout2 & " & partnodes
swdraw. saveas3 nfilename & ".pdf", 0, 0, 0
Sonunda, eğer sona erirse
takas.quitdoc swdraw.getpathname
swdraw = Hiçbir şey
swmodel = Hiçbir şey
sfilename = dir
döngüsü
msgbox "all done"
Sonunda alt alt