找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 6729|回复: 5

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

[复制链接]
发表于 2020-4-12 11:34:02 | 显示全部楼层 |阅读模式
本帖最后由 zqzwhj111 于 2020-4-12 11:38 编辑
1 a* G5 `2 S5 k. q: N, @& f3 K. }# B
有大佬知道这个程序哪里出问题了吗,替换不了,用visual studio写的,VB语言,SolidWorks版本是2012的0 f) J# x2 W: B' Y/ E
- A8 g  w. L7 f
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click) \6 E+ t3 f4 H0 C* \
        Dim swapp As SldWorks.SldWorks
  W' m+ J, x% G4 n9 T+ e        Dim modle As SldWorks.ModelDoc22 a! I, |( N( q% _) w8 ~! q3 L9 ?
        Dim sheet As SldWorks.Sheet
( p$ V+ C6 I4 M5 X3 S+ T* P        Dim sheetpr() As Double
9 H, d8 G/ l7 D, Z! v8 S: @        swapp = CreateObject("Sldworks.application")
; N3 U2 n/ p- B- ]
# T; s) ]2 b: g/ ?7 n! n        Dim pathname As String$ T1 a9 L0 O3 p# L2 }
        pathname = TextBox1.Text         '获得文件夹路径% Y' @+ {: }" p' {
        Dim swpath() As String
- U' l# \8 l+ P+ c6 y4 s4 {- x        swpath = IO.Directory.GetFiles(pathname, "*.SLDDRW")        '筛选图纸文件名; {( S9 x% y# T7 A
        For Each strname As String In swpath       '列出所有图纸文件名
! h2 r3 h- A. S" `            modle = swapp.OpenDoc(strname, 3)      '打开模型
2 G6 a9 v% l% R0 j# Y% m8 r            sheet = modle.GetCurrentSheet()         '获得当前图纸
2 \, d4 b/ K& o% n% E# D            sheetpr = sheet.GetProperties()        '获得图纸属性
+ u5 [3 D* r; e            sheetpr(1) = 12
  Z! f4 W' t, p9 r            sheetpr(1) = 12
, W% i3 g7 u  [. V+ g  B! j- h            sheet.SetProperties(sheetpr(0), sheetpr(1), sheetpr(2), sheetpr(3), sheetpr(4), sheetpr(5), sheetpr(6))
; i& V$ a4 Y% h$ a) J  v" Z/ ~2 V& |5 l            If sheetpr(5) = 210 / 1000 Then
: \, O" Y' h3 U+ O                sheet.SetTemplateName("E:\图纸格式文件替换工程图模板时使用\A4替换.slddrt")9 V! F, _0 R% `8 m9 v& ]
            ElseIf sheetpr(5) = 420 / 1000 Then
# L# \/ D& S) P, F                sheet.SetTemplateName("E:\图纸格式文件替换工程图模板时使用\A3替换.slddrt")# Y6 v. j  ^( E; J
            End If1 [' B9 W. N( z2 x$ B; f7 g9 ~  P
            modle.Save3(1, swerrors, swwarings). K4 N0 L; N  U- q1 Y
            swapp.CloseDoc(strname.Substring(InStrRev(strname, "\"), Len(strname) - InStrRev(strname, "\")))# p& d; Z$ q5 d9 H
        Next
) W; T) l1 s$ r4 c7 [6 GEnd Sub
( ^$ i. r) \+ I! B
: }8 U' H$ z: h7 [& p9 h4 j
回复

使用道具 举报

发表于 2020-4-12 11:38:36 | 显示全部楼层
有试过把程序里面的路径和模板改为英文的吗
 楼主| 发表于 2020-4-12 11:39:11 | 显示全部楼层
gaxisjtu 发表于 2020-4-12 11:38
% [, ~. b* z; k. ]  B9 T有试过把程序里面的路径和模板改为英文的吗

7 D! H/ B( P. r& H3 ?: w8 i我试试
. M3 N8 m# \$ z
 楼主| 发表于 2020-4-12 11:41:56 | 显示全部楼层
gaxisjtu 发表于 2020-4-12 11:38
  v4 O: ?2 _3 j% i" D  L有试过把程序里面的路径和模板改为英文的吗

3 M6 m5 W; E, y' D5 G* I' v还是不行5 p$ s- k1 J* Z+ |1 w1 d
发表于 2020-7-13 11:11:14 | 显示全部楼层
057762768008
4 S8 u5 I0 v  ^6 f* E
发表于 2021-6-24 13:43:54 | 显示全部楼层
顶一下,等待高手
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2025-10-20 17:15 , Processed in 0.073953 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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