将SolidWorks工程图另存为带前缀的PDF文件

西迪克·哈雷格(Siddiq Khareghat)

我正在尝试使用宏保存Solidworks工程图文件并为PDF添加前缀。该代码可在从solidworks中提取文件名后添加所有内容,但似乎无法添加前缀

码:

Dim swApp As Object
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swExportPDFData As SldWorks.ExportPdfData
Dim strFilename As String
Dim status As Boolean
Dim errors As Long, warnings As Long
Dim prefix As String
Dim CurrRev As String
Dim strFilenameShort As String
Dim TempString As String




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

'Save
status = swModel.Save3(swSaveAsOptions_e.swSaveAsOptions_Silent, errors, warnings)

'Export to PDF if it is a drawing
If (swModel.GetType = swDocDRAWING) Then

prefix = (InputBox("Enter Company Prefix"))
CurrRev = (InputBox("Enter Current Revision"))

strFilenameShort = swModel.GetPathName
strFilenameShort = Left(strFilenameShort, Len(strFilenameShort) - 7)
TempString = CStr(strFilenameShort)
strFilename = prefix & TempString & "REV" & CurrRev & ".PDF"


Set swExportPDFData = swApp.GetExportFileData(1)
swModel.Extension.SaveAs strFilename, 0, 0, swExportPDFData, 0, 0


End If
Set swApp = Application.SldWorks
End Sub
Sinue

您好Siddiq Khareghat,

在您的示例中,您将前缀TempString的完整路径组合在一起,这是错误的,因为结果将类似于“ prefixC:\ ... REV1.pdf

这是一个包含多个步骤的示例,这些步骤提取了模型路径名的所需部分。最后,所有内容都与前缀CurrRev组合在一起

' PathName of current model document
Dim sModelFullPath As String
sModelFullPath = swModel.GetPathName

' get path name without filename
Dim sFilePath As String
sFilePath = Left(sModelFullPath, InStrRev(sModelFullPath, "\"))

' get filename and extension
Dim sFileName As String
sFileName = Right(sModelFullPath, Len(sModelFullPath) - InStrRev(sModelFullPath, "\"))

' get filename without extension
Dim sFileNameWithoutExtension As String
sFileNameWithoutExtension = Left(sFileName, InStrRev(sFileName, ".") - 1)

' combine everything to new path name
Dim sNewFullPath As String
sNewFullPath = prefix & sFileNameWithoutExtension & "REV" & CurrRev & ".pdf"

' SaveAs with new full path
Set swExportPDFData = swApp.GetExportFileData(1)
swModel.Extension.SaveAs sNewFullPath, 0, 0, swExportPDFData, 0, 0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章