|
本帖最后由 zqzwhj111 于 2020-4-12 11:38 编辑
4 i8 ~0 C( c- ] N, a c5 [
, g# G& p; E0 H `' h 有大佬知道这个程序哪里出问题了吗,替换不了,用visual studio写的,VB语言,SolidWorks版本是2012的/ Y" t( o- ]+ G$ g! ?6 I
4 {8 k5 v6 d: H/ kPrivate Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
! E9 X. g& B) K7 e0 w# t7 o/ Q2 w Dim swapp As SldWorks.SldWorks5 K5 Z1 t/ Q3 R2 [
Dim modle As SldWorks.ModelDoc26 U2 T' X, c- g" y8 _. ?
Dim sheet As SldWorks.Sheet
! ~; X7 B6 `. W Dim sheetpr() As Double: Q4 ~0 H) _, E$ ^0 A3 s% V
swapp = CreateObject("Sldworks.application"); O4 l- H1 A* H% q; X$ E- K. Y
" e5 D7 `1 g- O) V* t Dim pathname As String# W# a; f5 K5 R1 n
pathname = TextBox1.Text '获得文件夹路径
$ Z4 _4 l8 V1 q# u6 N$ P; @ Dim swpath() As String4 T4 B: h6 |4 Y; m" x/ R
swpath = IO.Directory.GetFiles(pathname, "*.SLDDRW") '筛选图纸文件名6 L7 G- H- e# ?9 V6 \( L* Z& n2 h
For Each strname As String In swpath '列出所有图纸文件名
+ _# ]9 A" Q6 |$ z3 O1 d; o0 I4 T( Z modle = swapp.OpenDoc(strname, 3) '打开模型
$ @. \+ E0 g5 k& G+ i sheet = modle.GetCurrentSheet() '获得当前图纸
3 a v. b' H6 [ A }$ t sheetpr = sheet.GetProperties() '获得图纸属性
0 n; v8 O8 y6 z sheetpr(1) = 122 C5 o+ Q% m' U
sheetpr(1) = 12
% e4 ~7 K5 c1 Q- e% o sheet.SetProperties(sheetpr(0), sheetpr(1), sheetpr(2), sheetpr(3), sheetpr(4), sheetpr(5), sheetpr(6))
' k% p- v g" n( M9 }* n If sheetpr(5) = 210 / 1000 Then1 ]7 z! p) j8 ^1 {1 n2 V
sheet.SetTemplateName("E:\图纸格式文件替换工程图模板时使用\A4替换.slddrt")! z( N4 N- Y# j5 G O- b8 l+ T
ElseIf sheetpr(5) = 420 / 1000 Then
5 d% f3 Q9 K' ?+ U1 W sheet.SetTemplateName("E:\图纸格式文件替换工程图模板时使用\A3替换.slddrt")
1 }3 ^; M4 a }+ s- q% O End If
( `4 U, [0 E" K# p modle.Save3(1, swerrors, swwarings)' X/ p _" z4 T) @* X
swapp.CloseDoc(strname.Substring(InStrRev(strname, "\"), Len(strname) - InStrRev(strname, "\")))
* ]+ i- n7 S/ T; a( i N d" X Next3 ], M# C% X" A, ~) B) P0 f
End Sub
$ T8 |2 x$ [! w2 ]& {1 b
Y3 [9 F# e% w5 C, e1 X |
|