SolidWorks專門論壇 SolidWorks forum

 找回密碼
 註冊
查看: 1308|回復: 4

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

[複製鏈接]
發表於 2020/12/16 20:52:59 | 顯示全部樓層 |閱讀模式
如题,代码如下,一个很简单的存档程序。
就是将当前文件零存成特定的格式,比较烦恼的就是程序以外的弹窗,比如工程图比例、目录内包含相同文件替换的弹窗等。
烦请论坛大神指教下,有没有方法让它不弹出,默认确定或是就行,感谢!
我也不熟悉这些代码,都是照着网上大神的看,边做边试,代码很乱见笑了。
  1. Dim swApp As Object
  2. Dim longstatus As Long, longwarnings As Long

  3. Sub main()

  4. Set swApp = Application.SldWorks
  5. Set swModel = swApp.ActiveDoc
  6. Set Part = swModel
  7. Set Part = swApp.ActiveDoc

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

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

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

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

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

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

  46. End Sub
複製代碼






本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?註冊

x
發表於 2020/12/27 12:31:23 | 顯示全部樓層
’关闭提示
Application.DisplayAlerts = False
’打开提示
Application.DisplayAlerts = True

點評

这是SolidWorks,不是Excel。。。  詳情 回復 發表於 2020/12/27 14:58
發表於 2020/12/27 14:58:40 | 顯示全部樓層
zhenyx 發表於 2020/12/27 12:31
’关闭提示
Application.DisplayAlerts = False
’打开提示

这是SolidWorks,不是Excel。。。
發表於 2020/12/27 15:22:04 | 顯示全部樓層
第一个问题,关于工程图比例的提示,这个可以在手动另存DWG/DXF时,进入对应的选项,关闭提示就好。但是换电脑或重新安装Solidworks后还得手动进去设置一次。
所以最完美的解决办法是在代码里面进行对应的设置,这个设置我看到过的,是可行的。
你自己找找吧,把sw界面调成英文后进入这个地方的设置,找到对应的英文单词,然后在API HELP里面搜就可以找到了。
我告诉你方法了,但是你能不能找到和找到了能不能看懂就看你自己了。


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

點評

感谢指点,我去找找看。E文实在太烂……有点难度。  詳情 回復 發表於 2020/12/29 15:18
 樓主| 發表於 2020/12/29 15:18:27 | 顯示全部樓層
xiaocake 發表於 2020/12/27 15:22
第一个问题,关于工程图比例的提示,这个可以在手动另存DWG/DXF时,进入对应的选项,关闭提示就好。但是换 ...

感谢指点,我去找找看。E文实在太烂……有点难度。
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

論壇統計|手機版上論壇|論壇來自幾何科技 論壇架構版次 20240312

GMT+8, 2024/3/29 15:15 , Processed in 0.117096 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回復 返回頂部 返回列表