SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

好品数字
好品数字
查看: 1946|回复: 4
打印 上一主题 下一主题

关于存档命令SaveAs3……很烦恼

[复制链接]

3

主题

36

帖子

16

金币

天使

Rank: 2Rank: 2

积分
79
QQ
跳转到指定楼层
楼主
发表于 2020-12-16 20:52:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
如题,代码如下,一个很简单的存档程序。
就是将当前文件零存成特定的格式,比较烦恼的就是程序以外的弹窗,比如工程图比例、目录内包含相同文件替换的弹窗等。
烦请论坛大佬指教下,有没有方法让它不弹出,默认确定或是就行,感谢!
我也不熟悉这些代码,都是照着网上大佬的看,边做边试,代码很乱见笑了。
Dim swApp As Object
Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set Part = swModel
Set Part = swApp.ActiveDoc

'判断是否打开零件体
If swModel Is Nothing Then
MsgBox "没有打开文档!", 0 + 16 + 65536, "错误"
Exit Sub
End If

'判定当前活动文件是否是零件并赋相应扩展名变量值
If (Part.GetType = swDocPART) Then
g = "igs" '零件模式设定输出扩展名为igs,不包含"."
ElseIf Part.GetType = swDocDRAWING Then
g = "dxf" '图纸模式设定输出扩展名为dxf,不包含"."
ElseIf Part.GetType = swDocASSEMBLY Then
Msgr = MsgBox("当前为装配体,是否确定要将装配体输出文件?", 4 + 64 + 65536, "注意")
  If Msgr = 6 Then
  g = "igs" '设定输出扩展名为igs,不包含"."
  Else
  Exit Sub
  End If
End If

boolstatus = Part.EditRebuild3() '刷新模型
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
swApp.ActiveDoc.ActiveView.FrameState = 1

'设定变量
a = swApp.ActiveDoc.GetTitle() '零件名Part.GetPathName
b = Part.GetPathName() '当前活动模型的完整路径和完整文件名
c = Right(a, 7) '文件名消除扩展名
d = Left(b, InStrRev(b, "")) '完整路径消除文件名
e = Left(a, InStrRev(a, ".")) '消除文件名中的扩展名
f = Chr(46) & "sldprt" '设定扩展名,不包含"."
h = Left(b, InStrRev(b, ".")) '完整路径移除扩展名

If (b = "") Then
MsgBox "当前文件还未保存," & vbCrLf & "保存文件后继续执行!", 0 + 16 + 65536, "错误"
Exit Sub
End If

PName = h & g
longstatus = Part.SaveAs3(PName, 0, 0)
MsgBox "输出文件:" & PName, 0 + 64 + 65536, "成功"

End Sub

复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 转播转播 分享教程|习题|模型|技巧 点赞点赞 拍砖拍砖
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

5

主题

47

帖子

31

金币

天使

Rank: 2Rank: 2

积分
109
QQ
沙发
发表于 2020-12-25 16:42:57 | 只看该作者
’关闭提示
Application.DisplayAlerts = False
’打开提示
Application.DisplayAlerts = True
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

3

主题

49

帖子

30

金币

天使

Rank: 2Rank: 2

积分
119
QQ
板凳
发表于 2021-2-19 01:07:33 | 只看该作者
这是SolidWorks,不是Excel。。。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

35

帖子

16

金币

天使

Rank: 2Rank: 2

积分
50
QQ
地板
发表于 2021-3-7 07:38:42 | 只看该作者
第一个问题,关于工程图比例的提示,这个可以在手动另存DWG/DXF时,进入对应的选项,关闭提示就好。但是换电脑或重新安装Solidworks后还得手动进去设置一次。
所以最完美的解决办法是在代码里面进行对应的设置,这个设置我看到过的,是可行的。
你自己找找吧,把sw界面调成英文后进入这个地方的设置,找到对应的英文单词,然后在API HELP里面搜就可以找到了。
我告诉你方法了,但是你能不能找到和找到了能不能看懂就看你自己了。


第二个问题,文件已存在的提示,可以把现有存在的文件事先删掉,但是还是存在因为文件被打开而导致删不掉的情况。
我的建议是在另存时在文件名后面加上表示年月日时分秒的数字,直接就能保证跟以前的文件名不一样,也就不用管文件是否已存在了。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

7

主题

41

帖子

36

金币

天使

Rank: 2Rank: 2

积分
113
QQ
5#
发表于 2021-3-20 00:02:58 | 只看该作者

   经典案例图书
感谢指点,我去找找看。E文实在太烂……有点难度。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭 卷起
关闭 卷起

手机版|小黑屋| GMT+8, 2024-5-14 21:15 , Processed in 0.174389 second(s), 36 queries .

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

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