|
本帖最后由 zqzwhj111 于 2020-4-12 11:38 編輯
4 R7 H* H! O" y. A8 e; b5 V' @+ i- q7 A* _2 l! E3 K
有大佬知道這個程序哪里出問題了嗎,替換不了,用visual studio寫的,VB語言,SolidWorks版本是2012的0 x; c# Y" J6 {% A0 d! U
i8 j- Y; q& e \/ g0 `Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click; J6 U6 ]4 }8 M5 U
Dim swapp As SldWorks.SldWorks3 B& o) m& d2 f/ P/ k2 `. h' [1 S
Dim modle As SldWorks.ModelDoc25 G* c7 p( K2 i! M) Y
Dim sheet As SldWorks.Sheet# P- q0 M. T% o! y7 J7 l% w
Dim sheetpr() As Double
! n2 S6 l3 T8 w0 h$ M! b swapp = CreateObject("Sldworks.application")- C# U$ z. Z6 z8 j# g
2 e: V! S* b* \' U( \0 _
Dim pathname As String& j. c9 ]: ^( V5 W# \( U, K
pathname = TextBox1.Text '獲得文件夾路徑
1 f/ t/ }& P" a: } Dim swpath() As String/ d* l; Q$ s: m- T) m
swpath = IO.Directory.GetFiles(pathname, "*.SLDDRW") '篩選圖紙文件名& f8 ?1 \* c! [: K9 {$ }
For Each strname As String In swpath '列出所有圖紙文件名
0 l! A# ?% p* F2 v# L! o7 I modle = swapp.OpenDoc(strname, 3) '打開模型
1 A0 Z" r2 e: q- s, s+ n- Z sheet = modle.GetCurrentSheet() '獲得當前圖紙2 _0 T% Y7 p- Q% u
sheetpr = sheet.GetProperties() '獲得圖紙屬性& y4 Y# P$ Z1 w9 {( t' b
sheetpr(1) = 12
$ }* r4 u+ p: r, w5 S/ H5 ?9 y sheetpr(1) = 12
0 O( q! B3 s7 K9 }) a sheet.SetProperties(sheetpr(0), sheetpr(1), sheetpr(2), sheetpr(3), sheetpr(4), sheetpr(5), sheetpr(6))3 x( Y. N7 \6 b* t8 k6 H
If sheetpr(5) = 210 / 1000 Then" v/ @% s: f0 p7 B6 i1 z4 d# W, f
sheet.SetTemplateName("E:\圖紙格式文件替換工程圖模板時使用\A4替換.slddrt")
8 e' a% `* P+ y, o0 i ElseIf sheetpr(5) = 420 / 1000 Then4 D( z+ ?( d1 a' H! O
sheet.SetTemplateName("E:\圖紙格式文件替換工程圖模板時使用\A3替換.slddrt")' k3 j% P3 K+ {. I
End If
4 k% v0 F) h! x. X6 V: j8 S( B modle.Save3(1, swerrors, swwarings)
2 o* H2 K7 c6 v, I swapp.CloseDoc(strname.Substring(InStrRev(strname, "\"), Len(strname) - InStrRev(strname, "\")))
C/ r L' ~% K: `. ~2 ?+ ~! `( Q5 B Next
; |0 @$ _* L$ R0 u2 f& X! hEnd Sub
1 [6 {6 @0 Z& n8 e+ Z$ N
+ q& ?( A" q5 _6 d; A2 m |
|