|
本帖最后由 zqzwhj111 于 2020-4-12 11:38 编辑
1 a* G5 `2 S5 k. q: N, @& f3 K. }# B
有大佬知道这个程序哪里出问题了吗,替换不了,用visual studio写的,VB语言,SolidWorks版本是2012的0 f) J# x2 W: B' Y/ E
- A8 g w. L7 f
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click) \6 E+ t3 f4 H0 C* \
Dim swapp As SldWorks.SldWorks
W' m+ J, x% G4 n9 T+ e Dim modle As SldWorks.ModelDoc22 a! I, |( N( q% _) w8 ~! q3 L9 ?
Dim sheet As SldWorks.Sheet
( p$ V+ C6 I4 M5 X3 S+ T* P Dim sheetpr() As Double
9 H, d8 G/ l7 D, Z! v8 S: @ swapp = CreateObject("Sldworks.application")
; N3 U2 n/ p- B- ]
# T; s) ]2 b: g/ ?7 n! n Dim pathname As String$ T1 a9 L0 O3 p# L2 }
pathname = TextBox1.Text '获得文件夹路径% Y' @+ {: }" p' {
Dim swpath() As String
- U' l# \8 l+ P+ c6 y4 s4 {- x swpath = IO.Directory.GetFiles(pathname, "*.SLDDRW") '筛选图纸文件名; {( S9 x% y# T7 A
For Each strname As String In swpath '列出所有图纸文件名
! h2 r3 h- A. S" ` modle = swapp.OpenDoc(strname, 3) '打开模型
2 G6 a9 v% l% R0 j# Y% m8 r sheet = modle.GetCurrentSheet() '获得当前图纸
2 \, d4 b/ K& o% n% E# D sheetpr = sheet.GetProperties() '获得图纸属性
+ u5 [3 D* r; e sheetpr(1) = 12
Z! f4 W' t, p9 r sheetpr(1) = 12
, W% i3 g7 u [. V+ g B! j- h sheet.SetProperties(sheetpr(0), sheetpr(1), sheetpr(2), sheetpr(3), sheetpr(4), sheetpr(5), sheetpr(6))
; i& V$ a4 Y% h$ a) J v" Z/ ~2 V& |5 l If sheetpr(5) = 210 / 1000 Then
: \, O" Y' h3 U+ O sheet.SetTemplateName("E:\图纸格式文件替换工程图模板时使用\A4替换.slddrt")9 V! F, _0 R% `8 m9 v& ]
ElseIf sheetpr(5) = 420 / 1000 Then
# L# \/ D& S) P, F sheet.SetTemplateName("E:\图纸格式文件替换工程图模板时使用\A3替换.slddrt")# Y6 v. j ^( E; J
End If1 [' B9 W. N( z2 x$ B; f7 g9 ~ P
modle.Save3(1, swerrors, swwarings). K4 N0 L; N U- q1 Y
swapp.CloseDoc(strname.Substring(InStrRev(strname, "\"), Len(strname) - InStrRev(strname, "\")))# p& d; Z$ q5 d9 H
Next
) W; T) l1 s$ r4 c7 [6 GEnd Sub
( ^$ i. r) \+ I! B
: }8 U' H$ z: h7 [& p9 h4 j |
|