找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 6665|回复: 5

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

[复制链接]
发表于 2020-4-12 11:34:02 | 显示全部楼层 |阅读模式
本帖最后由 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
回复

使用道具 举报

发表于 2020-4-12 11:38:36 | 显示全部楼层
有试过把程序里面的路径和模板改为英文的吗
 楼主| 发表于 2020-4-12 11:39:11 | 显示全部楼层
gaxisjtu 发表于 2020-4-12 11:38
1 i& |% u+ v3 M- `' v- T$ z! Q有试过把程序里面的路径和模板改为英文的吗

) }* O$ r+ t. f! x( [8 D  x我试试, w7 U; b( k$ `4 g2 g3 T  q7 d
 楼主| 发表于 2020-4-12 11:41:56 | 显示全部楼层
gaxisjtu 发表于 2020-4-12 11:38* _  x* ~9 p( O0 N2 H/ t
有试过把程序里面的路径和模板改为英文的吗

: R' q# ?1 \4 V" }还是不行
* Z( g! A& V& E( r! U
发表于 2020-7-13 11:11:14 | 显示全部楼层
057762768008
  n5 v' K7 t* n0 G, g/ |
发表于 2021-6-24 13:43:54 | 显示全部楼层
顶一下,等待高手
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2025-9-16 19:58 , Processed in 0.068539 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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