找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 6541|回复: 5

批量替换工程图模板程序问题

[复制链接]
发表于 2020-4-12 11:34:02 | 显示全部楼层 |阅读模式
本帖最后由 zqzwhj111 于 2020-4-12 11:38 编辑 : a" p7 \- f, ?/ S5 C! m( N: [/ C- p

- {4 ?' a) D6 d8 z2 s 有大佬知道这个程序哪里出问题了吗,替换不了,用visual studio写的,VB语言,SolidWorks版本是2012的7 x* m6 O3 j! d9 l
  _9 k' G. Z8 _1 I! v/ e
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
; b( ^( J" U! w0 w, K% l        Dim swapp As SldWorks.SldWorks7 \5 t2 o, Y5 A9 C  m* l$ a! O
        Dim modle As SldWorks.ModelDoc25 W2 `+ e6 I/ h3 m
        Dim sheet As SldWorks.Sheet6 r7 m  H3 d) B" t, i8 J1 f  t& g
        Dim sheetpr() As Double# ^$ P' x& v, Z: b' V, ?
        swapp = CreateObject("Sldworks.application")
: Y4 D$ K6 l* G: d4 C" e" i6 ?6 z
        Dim pathname As String
/ G' ?1 u% c/ K% i0 f        pathname = TextBox1.Text         '获得文件夹路径; X! R3 x. ]7 X, b  O) t
        Dim swpath() As String5 b  |; @0 b2 u3 E! \/ ^
        swpath = IO.Directory.GetFiles(pathname, "*.SLDDRW")        '筛选图纸文件名- S1 t) r& v9 K2 _8 x. t" p
        For Each strname As String In swpath       '列出所有图纸文件名- R& e; I! m2 T* A/ b
            modle = swapp.OpenDoc(strname, 3)      '打开模型  w# X2 d# D# N  {3 N
            sheet = modle.GetCurrentSheet()         '获得当前图纸5 d0 n7 G0 v. z- ^* B
            sheetpr = sheet.GetProperties()        '获得图纸属性
) w' ~. O/ ~: h. l: V            sheetpr(1) = 12
0 b0 i9 D3 i# n' o3 x            sheetpr(1) = 12
/ a0 u2 r) D" C+ }            sheet.SetProperties(sheetpr(0), sheetpr(1), sheetpr(2), sheetpr(3), sheetpr(4), sheetpr(5), sheetpr(6))
2 F2 r  u& \( Z            If sheetpr(5) = 210 / 1000 Then
3 j5 N0 I; ]0 S3 i; C% j# w                sheet.SetTemplateName("E:\图纸格式文件替换工程图模板时使用\A4替换.slddrt")
$ ]9 z  l5 D- ~            ElseIf sheetpr(5) = 420 / 1000 Then
' y& I& {$ }/ v2 P1 N- E                sheet.SetTemplateName("E:\图纸格式文件替换工程图模板时使用\A3替换.slddrt")
4 G2 S! h* C9 S7 ?            End If
9 O: E# u. Q! q            modle.Save3(1, swerrors, swwarings)
* }# Z, K5 p  }            swapp.CloseDoc(strname.Substring(InStrRev(strname, "\"), Len(strname) - InStrRev(strname, "\")))
7 N2 l9 `7 h/ f0 R1 R        Next
( G# j, n; E  k' E, a" hEnd Sub! Z/ t( K& Y- V; \* ^( C7 Y. R
. l) r- L9 ^1 H6 B" O8 N
回复

使用道具 举报

发表于 2020-4-12 11:38:36 | 显示全部楼层
有试过把程序里面的路径和模板改为英文的吗
 楼主| 发表于 2020-4-12 11:39:11 | 显示全部楼层
gaxisjtu 发表于 2020-4-12 11:38
, q6 j$ d% u8 Y/ u! Y有试过把程序里面的路径和模板改为英文的吗

  w' e8 c0 Y& i5 }9 c8 c我试试; {6 r6 ?2 _- ?3 x, f/ G
 楼主| 发表于 2020-4-12 11:41:56 | 显示全部楼层
gaxisjtu 发表于 2020-4-12 11:389 D! A, S# A* H& j" w5 ?
有试过把程序里面的路径和模板改为英文的吗
! Y* a: ^( c9 Q+ Y
还是不行" b; [" l: g( I5 e
发表于 2020-7-13 11:11:14 | 显示全部楼层
057762768008/ S' t; n& i( }
发表于 2021-6-24 13:43:54 | 显示全部楼层
顶一下,等待高手
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-7-4 16:07 , Processed in 0.081039 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表