找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 14582|回复: 58
打印 上一主题 下一主题

[分享] 宏-关闭除当前文档以外的所有文档

  [复制链接]
跳转到指定楼层
1
发表于 2018-1-28 11:16:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 qiminger 于 2018-1-28 11:26 编辑

Jake Carr编写的代码,并于8/28/2017上传到3D内容中心。
此宏关闭除了活动文档以外的所有打开的文档。

的前提条件:
1。打开多个文件打开
2。建议在运行前先做一个保存

“后置条件:
1。除活动文档外所有文件均已关闭。


感谢原著

在原创基础上,增加一段全部保存代码,勿需担忧忘记保存。
2013版本测试正常。其它版本如遇问题,请自行添加引用。
游客,如果您要查看本帖隐藏内容请回复

  1. Option Explicit

  2. '********************************************************************************************************************************************************

  3. '   Code written by Jake Carr and uploaded to 3D Content Central on 8/28/2017

  4. '   This macro closes all open documents except active document

  5. '   Preconditions:
  6. '   1. SOLIDWORKS open with multiple documents open
  7. '   2. Recommend do a save all before running

  8. '   Postconditions:
  9. '   1. All documents closed except active document

  10. '********************************************************************************************************************************************************

  11. Dim swApp As SldWorks.SldWorks
  12. Dim swModel As SldWorks.ModelDoc2
  13. Dim vModels As Variant
  14. Dim modNames() As String
  15. Dim docCount As Integer
  16. Dim swModelName As String
  17. Dim swDocType As Integer
  18. Dim i As Integer

  19. Sub main()

  20. '********************************************************************************************************************************************************

  21. '   Get Application and active doc. Get active document name. Get documens variant.

  22. '********************************************************************************************************************************************************

  23. Set swApp = Application.SldWorks
  24. Set swModel = swApp.ActiveDoc

  25. swModelName = swModel.GetTitle
  26. swDocType = swModel.GetType
  27. vModels = swApp.GetDocuments

  28. '+++++++
  29. swApp.RunCommand swCommands_SaveAll, Empty '增加段,保存所有文档
  30. '+++++++

  31. '********************************************************************************************************************************************************

  32. 'Build a list of document names to close

  33. '********************************************************************************************************************************************************

  34. docCount = 1

  35. For i = 0 To UBound(vModels)
  36.     If Not vModels(i).GetTitle = swModelName Then
  37.             ReDim Preserve modNames(docCount)
  38.             modNames(docCount) = vModels(i).GetTitle
  39.             docCount = docCount + 1
  40.     End If
  41. Next i

  42. '********************************************************************************************************************************************************

  43. '   Close the documents in the array created

  44. '********************************************************************************************************************************************************

  45. For i = 1 To UBound(modNames)
  46.     'Debug.Print (modName)
  47.     swApp.CloseDoc (modNames(i))

  48. Next

  49. End Sub
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 赞一下!赞一下!
2
发表于 2018-1-28 14:28:46 | 只看该作者
谢楼主!顶起!
3
发表于 2018-1-28 20:22:03 | 只看该作者
谢谢分享
4
发表于 2018-2-7 07:49:26 | 只看该作者

不客气,一起学习。
5
发表于 2018-2-16 19:40:50 | 只看该作者
谢谢分享
6
发表于 2018-2-20 15:00:27 | 只看该作者
增加的一段全部保存代码可否作如下修改?让是否保存可以做个选择,因为有时候是不想保存的。与楼主商榷
  1. '+++++++
  2. Answer = MsgBox("其余SOLIDWORKS文件在关闭时需要保存吗?", vbYesNoCancel + 48)
  3. If Answer = vbYes Then
  4. swApp.RunCommand swCommands_SaveAll, Empty    '保存所有文档
  5.    ElseIf Answer = vbCancel Then Exit Sub
  6.    Else
  7. End If
  8. '+++++++
复制代码
7
发表于 2018-2-23 08:38:08 | 只看该作者
qxzch 发表于 2018-2-20 15:00
增加的一段全部保存代码可否作如下修改?让是否保存可以做个选择,因为有时候是不想保存的。与楼主商榷:han ...

非常好的建议,这样有选择操作非常人性化,显得更专业,感谢qxzch朋友。
8
发表于 2018-4-6 11:48:51 | 只看该作者
很好谢谢
9
发表于 2018-4-6 11:49:25 | 只看该作者
很好 谢谢啦
10
发表于 2018-10-5 11:41:35 | 只看该作者
这个功能蛮实用的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-22 09:27 , Processed in 0.150673 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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