|
本帖最后由 zqzwhj111 于 2020-4-12 11:38 编辑
/ {/ q, y, O( \! y4 ?0 \
& c# ~% m4 Q8 Z 有大佬知道这个程序哪里出问题了吗,替换不了,用visual studio写的,VB语言,SolidWorks版本是2012的4 X8 k; O0 a$ w- ]4 j* u) J0 I
+ T6 Y5 Y, H5 l/ O6 |
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click+ f4 B* P4 C/ l, V, a
Dim swapp As SldWorks.SldWorks
% k# ^2 s4 P7 }- y; [ Dim modle As SldWorks.ModelDoc22 L1 h) ^$ S& P8 Y6 I$ `
Dim sheet As SldWorks.Sheet
1 U+ \( s7 D& \) T5 j6 C( a% ] Dim sheetpr() As Double& F3 N/ B; l* t/ o8 c B, g' H1 U
swapp = CreateObject("Sldworks.application")
3 T" k0 p) k) K5 h8 @4 e$ ?' n3 ~4 R5 w# t0 I
Dim pathname As String4 V- D% y+ c. b" ~! F
pathname = TextBox1.Text '获得文件夹路径9 d& \- ?8 Z* E' g1 W( l) T
Dim swpath() As String
5 X) [. J$ K( W9 |3 B/ C3 w1 d swpath = IO.Directory.GetFiles(pathname, "*.SLDDRW") '筛选图纸文件名
% v) a( _" _3 |; R) \# j( v, G For Each strname As String In swpath '列出所有图纸文件名9 P- Q7 t6 ]1 f$ {. n
modle = swapp.OpenDoc(strname, 3) '打开模型2 H7 Y3 a0 `0 {, k# g5 Y
sheet = modle.GetCurrentSheet() '获得当前图纸; u, m( t7 g. Y7 g. n$ i/ l
sheetpr = sheet.GetProperties() '获得图纸属性
* g0 x5 _$ E- i sheetpr(1) = 12
3 v$ |& j5 A* |9 { sheetpr(1) = 12
1 P0 a' u4 a& z- z( e sheet.SetProperties(sheetpr(0), sheetpr(1), sheetpr(2), sheetpr(3), sheetpr(4), sheetpr(5), sheetpr(6))
- k0 G2 `9 w% U" ?; p; a If sheetpr(5) = 210 / 1000 Then
1 i1 L) _7 _* e& w3 L& r9 M sheet.SetTemplateName("E:\图纸格式文件替换工程图模板时使用\A4替换.slddrt")
: }. C0 t; ]) {: ? ElseIf sheetpr(5) = 420 / 1000 Then
. T) p5 o8 _6 g% m sheet.SetTemplateName("E:\图纸格式文件替换工程图模板时使用\A3替换.slddrt")3 H" ^; f5 e/ [7 [6 ?
End If. x. Q1 }, _; h7 n
modle.Save3(1, swerrors, swwarings)
9 e8 ], b0 d8 `8 W swapp.CloseDoc(strname.Substring(InStrRev(strname, "\"), Len(strname) - InStrRev(strname, "\")))
0 A: g& J# W& ^# }( l Next3 ?. v+ Y1 D1 T4 K9 ?: Q
End Sub$ @2 L ?9 g L, C* c K2 V
8 ~# S! @% w! v. w
|
|