找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 6601|回复: 5

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

[复制链接]
发表于 2020-4-12 11:34:02 | 显示全部楼层 |阅读模式
本帖最后由 zqzwhj111 于 2020-4-12 11:38 编辑 % d! y8 w* |1 b# N9 u

7 C5 A( H; h! _* F 有大佬知道这个程序哪里出问题了吗,替换不了,用visual studio写的,VB语言,SolidWorks版本是2012的
5 @* e2 l% N; K+ M% C, W7 e& G5 e4 @+ [! f
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click1 Z, a0 @/ v4 v4 t
        Dim swapp As SldWorks.SldWorks
# C! E& a0 i" Q( a9 o        Dim modle As SldWorks.ModelDoc21 X% @6 x/ Y6 E3 j
        Dim sheet As SldWorks.Sheet  X, s( A. P( v" j, Y
        Dim sheetpr() As Double" e, f. Z: O2 l: N
        swapp = CreateObject("Sldworks.application")7 c; g- z0 K5 N# X7 }: T0 @  y

/ I/ g$ O1 t6 r2 ^; [        Dim pathname As String/ X: S, C% ~1 \3 R! H) @
        pathname = TextBox1.Text         '获得文件夹路径. o/ {* i7 E: K: N1 v
        Dim swpath() As String, t9 v! d7 g3 u. J5 q' e: \0 K
        swpath = IO.Directory.GetFiles(pathname, "*.SLDDRW")        '筛选图纸文件名
$ w: q- S) E! Y" k/ N. h        For Each strname As String In swpath       '列出所有图纸文件名
* p* A& Z7 ]7 r' e4 l* C3 d* G            modle = swapp.OpenDoc(strname, 3)      '打开模型, O+ _' p9 n* A; n3 e3 v
            sheet = modle.GetCurrentSheet()         '获得当前图纸& ~" d3 S* j4 }: Q# \
            sheetpr = sheet.GetProperties()        '获得图纸属性: L4 a* S6 V6 \. Y
            sheetpr(1) = 12
, T& ?; g6 M7 Y) t: L5 b! O            sheetpr(1) = 12
5 N: E. f3 B. y: ]            sheet.SetProperties(sheetpr(0), sheetpr(1), sheetpr(2), sheetpr(3), sheetpr(4), sheetpr(5), sheetpr(6))
' b7 ]* s! e$ L/ o: {            If sheetpr(5) = 210 / 1000 Then. \( S. T4 ~# C
                sheet.SetTemplateName("E:\图纸格式文件替换工程图模板时使用\A4替换.slddrt"). e( X# C% ]5 u% S9 w# j
            ElseIf sheetpr(5) = 420 / 1000 Then. z' s: \: a, |/ e& {! p
                sheet.SetTemplateName("E:\图纸格式文件替换工程图模板时使用\A3替换.slddrt")0 m" a6 L, J8 G, G& O
            End If
) P3 U) D5 V4 ~            modle.Save3(1, swerrors, swwarings)9 x+ o& Z/ y% e' X% k3 A
            swapp.CloseDoc(strname.Substring(InStrRev(strname, "\"), Len(strname) - InStrRev(strname, "\")))
2 Q1 U, _, L* \        Next
, [/ g) O+ Q" x! R; z% `% ~End Sub, H% k7 W: L) r

: P# Z4 p7 z# t, ^& ?
回复

使用道具 举报

发表于 2020-4-12 11:38:36 | 显示全部楼层
有试过把程序里面的路径和模板改为英文的吗
 楼主| 发表于 2020-4-12 11:39:11 | 显示全部楼层
gaxisjtu 发表于 2020-4-12 11:38( e( }; u: b* [7 K2 c- |% K- [
有试过把程序里面的路径和模板改为英文的吗

8 e) @7 M* h# z我试试1 I. x$ z) \+ R$ D" `
 楼主| 发表于 2020-4-12 11:41:56 | 显示全部楼层
gaxisjtu 发表于 2020-4-12 11:38
( R9 y; g: P2 K, @4 w9 {# w2 Z( B有试过把程序里面的路径和模板改为英文的吗
: \5 p8 D+ ~$ S, J
还是不行
9 t0 N6 k3 j" ?) ^0 W
发表于 2020-7-13 11:11:14 | 显示全部楼层
057762768008
6 X* \5 Q$ F- T5 m' d) r2 d
发表于 2021-6-24 13:43:54 | 显示全部楼层
顶一下,等待高手
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2025-8-5 08:12 , Processed in 0.069557 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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