|
本帖最后由 zqzwhj111 于 2020-4-12 11:38 编辑
2 f7 E5 z7 T0 t; `" }9 ?% f9 f' _" J9 v) j; n2 V2 ?
有大佬知道这个程序哪里出问题了吗,替换不了,用visual studio写的,VB语言,SolidWorks版本是2012的+ m0 A( B& @. H7 U Y S
) n; n2 ?' o! g5 s. D
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click. d- A5 [1 r' o) X @; h! i! ]
Dim swapp As SldWorks.SldWorks
( S! [' e" z0 l) \' J# h* A Dim modle As SldWorks.ModelDoc2) _' f2 u4 a8 Z- q: |1 C- D
Dim sheet As SldWorks.Sheet. R% W9 P: \+ X: `# X9 Y- ?
Dim sheetpr() As Double
3 k8 l+ `8 p7 | swapp = CreateObject("Sldworks.application")
/ B/ e% e$ b# o) U- ]5 g: |4 D, M6 y3 {# L
Dim pathname As String3 J7 X7 H9 n" w6 i+ Y3 d& ?
pathname = TextBox1.Text '获得文件夹路径( s3 l1 p7 H: \% M( S% P
Dim swpath() As String' N6 b- I$ Y5 `$ @7 c* o$ Z7 \$ C
swpath = IO.Directory.GetFiles(pathname, "*.SLDDRW") '筛选图纸文件名
# H6 l' s& ~% E8 A. f For Each strname As String In swpath '列出所有图纸文件名: ^% c% d" o7 I0 w$ R# p# O
modle = swapp.OpenDoc(strname, 3) '打开模型
2 J- C% L. Y6 Y/ ? sheet = modle.GetCurrentSheet() '获得当前图纸
: @9 M6 z6 g2 `3 h3 ? sheetpr = sheet.GetProperties() '获得图纸属性$ \. R- a/ b( D# w+ q
sheetpr(1) = 12/ Z0 c; Y, Y$ [8 V0 v
sheetpr(1) = 12" @ n- J, s4 u; F3 J/ `) `1 c8 F+ W
sheet.SetProperties(sheetpr(0), sheetpr(1), sheetpr(2), sheetpr(3), sheetpr(4), sheetpr(5), sheetpr(6))3 r- n! S' w+ ?+ `: C
If sheetpr(5) = 210 / 1000 Then! G: u& V7 [( H% R2 Z ?) I4 m
sheet.SetTemplateName("E:\图纸格式文件替换工程图模板时使用\A4替换.slddrt")% @6 V( |; b; s( L
ElseIf sheetpr(5) = 420 / 1000 Then
" X) H7 s8 B! c& O. \* G1 I% b7 j sheet.SetTemplateName("E:\图纸格式文件替换工程图模板时使用\A3替换.slddrt")
" p) ]: }5 w7 Y* f8 { End If6 \8 R# f( F7 Q' F
modle.Save3(1, swerrors, swwarings)
/ E; I/ F+ M0 g9 _ swapp.CloseDoc(strname.Substring(InStrRev(strname, "\"), Len(strname) - InStrRev(strname, "\")))% P# i) {& z' B( E; b4 z
Next
1 W0 W4 i6 S$ p ~$ v% a4 QEnd Sub5 t5 F4 _: S! G% T
3 u& n, v6 G, ]3 K- V
|
|