|
本帖最后由 zqzwhj111 于 2020-4-12 11:38 编辑
2 j. ^4 K6 c+ u) j
" I; F9 B. \8 j, V 有大佬知道这个程序哪里出问题了吗,替换不了,用visual studio写的,VB语言,SolidWorks版本是2012的
. j' R/ I* Z |; z) j5 W$ n7 B
, {- @ |8 |( _$ C0 nPrivate Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click, ^! U% r2 Z+ W# h
Dim swapp As SldWorks.SldWorks, g. p6 T8 b" F0 x& {) I9 A6 G. o
Dim modle As SldWorks.ModelDoc2& n) n9 M" M/ I, p" w) t- [& O
Dim sheet As SldWorks.Sheet
& Q: v/ }3 |. f: a Dim sheetpr() As Double' e$ w6 d+ d- h& A) `3 q
swapp = CreateObject("Sldworks.application")
: ^9 @0 f2 s1 o5 T
; B, a. R4 ~1 |& P0 n5 [8 ^# s Dim pathname As String: X% S/ E1 \) g" \8 I4 B
pathname = TextBox1.Text '获得文件夹路径- e- g; Q: J7 B3 @" l5 _* y
Dim swpath() As String
8 b; D+ q* }2 ?/ e/ t! V swpath = IO.Directory.GetFiles(pathname, "*.SLDDRW") '筛选图纸文件名& ?/ d" N7 |% j( x
For Each strname As String In swpath '列出所有图纸文件名7 ?. a- B/ T0 G/ O+ c- w1 R/ |
modle = swapp.OpenDoc(strname, 3) '打开模型) n3 D: x P G$ C0 \
sheet = modle.GetCurrentSheet() '获得当前图纸
9 Y( w5 ]# N/ X4 | sheetpr = sheet.GetProperties() '获得图纸属性
* C+ N3 n- A; F+ e sheetpr(1) = 12
9 B$ f% v; Z6 F; C6 c: |1 J2 z3 ? sheetpr(1) = 122 N5 @; Z2 D. k. i" g: z
sheet.SetProperties(sheetpr(0), sheetpr(1), sheetpr(2), sheetpr(3), sheetpr(4), sheetpr(5), sheetpr(6))
' b- o% a" H: {) M If sheetpr(5) = 210 / 1000 Then
- a! |( `8 p# j. m& x. X7 G sheet.SetTemplateName("E:\图纸格式文件替换工程图模板时使用\A4替换.slddrt")
- G/ o# `! q# x: {' H ElseIf sheetpr(5) = 420 / 1000 Then; L' w7 e3 n, c" E. v
sheet.SetTemplateName("E:\图纸格式文件替换工程图模板时使用\A3替换.slddrt")
3 y$ Q5 ^3 Y* W0 W% S End If5 D: k6 i# H% D6 w7 R
modle.Save3(1, swerrors, swwarings)3 M. x2 z3 }: f' [, V
swapp.CloseDoc(strname.Substring(InStrRev(strname, "\"), Len(strname) - InStrRev(strname, "\")))8 S; }7 U3 F0 Z
Next
4 `: a7 Y7 p% X# L! |- b) s( @End Sub
6 {5 K* `* C8 w' m0 Q/ q7 z! L7 i! n, ~2 q5 G+ x
|
|