iCAx开思网

标题: 【宏】多页工程图分页保存PDF [打印本页]

作者: o1ojacko1o    时间: 2016-3-26 16:22
标题: 【宏】多页工程图分页保存PDF

使用方法:
打开多页工程图文件,运行宏。
保存位置 需要手动修改,默认为 C:\test

代码如下:

  1. Option Explicit
  2. Dim swApp                   As SldWorks.SldWorks
  3. Dim part                    As SldWorks.ModelDoc2
  4. Dim swSheet                 As SldWorks.Sheet
  5. Dim vSheetNames             As Variant
  6. Dim swExportPDFData         As SldWorks.ExportPdfData
  7. Dim swModelDocExt           As SldWorks.ModelDocExtension
  8. Dim SheetCount              As Integer
  9. Dim boolstatus              As Boolean
  10. Dim i                       As Long
  11. Dim Foldname                As String
  12. Dim PDFname                 As String
  13. Dim lErrors             As Long
  14. Dim lWarnings           As Long
  15. Dim AllSheetName
  16. Dim SheetProperty


  17. Sub main()
  18.      
  19.     Foldname = "C:\test"
  20.     '指定PDF保存目录 手动改写
  21.     Set swApp = Application.SldWorks
  22.     swApp.Visible = True
  23.     Set part = swApp.ActiveDoc
  24.     Set swModelDocExt = part.Extension
  25.     Set swExportPDFData = swApp.GetExportFileData(1)
  26.      SheetCount = part.GetSheetCount
  27.     AllSheetName = part.GetSheetNames
  28. For i = 0 To SheetCount - 1
  29.         part.ActivateSheet (AllSheetName(i))
  30.         Set swSheet = part.GetCurrentSheet
  31.         SheetProperty = swSheet.GetProperties
  32.         PDFname = Foldname & AllSheetName(i) & ".pdf"
  33.         vSheetNames = AllSheetName
  34.           boolstatus = swExportPDFData.SetSheets(swExportData_ExportCurrentSheet, vSheetNames)
  35.            swExportPDFData.ViewPdfAfterSaving = True
  36.         
  37.         boolstatus = swModelDocExt.SaveAs(PDFname, 0, 0, swExportPDFData, lErrors, lWarnings)

  38.     Next i

  39. End Sub
复制代码




该贴已经同步到 o1ojacko1o的微博
作者: 楠柠檬、    时间: 2016-3-27 10:34
每一页工程图都是单独的一个pdf文件?
作者: o1ojacko1o    时间: 2016-3-27 13:09
楠柠檬、 发表于 2016-3-27 10:34
每一页工程图都是单独的一个pdf文件?

是的,每一页都是一个单独的PDF文件。
试过了吗?
作者: 楠柠檬、    时间: 2016-3-27 14:18
o1ojacko1o 发表于 2016-3-27 13:09
是的,每一页都是一个单独的PDF文件。
试过了吗?

还没试,手头没这么多图纸

作者: 口风琴    时间: 2016-4-6 00:25
谢楼主分享,马克一笔
作者: 羊三丫    时间: 2018-5-26 15:56
请问一下,如何修改才能让保存过后不自动打开PDF?谢谢!!
作者: gdzsh    时间: 2021-5-24 21:57
我的图纸命名格式是“图号(空格)名称”用这个宏转化不了,只能转换名称中间没有空格的文件名称,求指教
作者: xl8310    时间: 2021-5-28 08:18
导出选项中可以选
如果解决PDF单页命名的问题就好了




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3