AnsweredAssumed Answered

Save certain sheet with NCP in the sheetname as .DWG

Question asked by Roger Chee on Apr 7, 2015
Latest reply on Mar 1, 2017 by Ulf Nutti

Hi all,


I'm looking for some help to modify a code that that saves certain sheets of my drawings into PDF.

I need the macro to export sheets in my drawings that contain "NCP" in the sheetname as .DWG

Right now, I have the macro to save the exported files to my desktop.

Below is the code that I need help with modifying:


Option Explicit


Sub main()



    Dim swApp               As SldWorks.SldWorks

    Dim swModel             As SldWorks.ModelDoc2

    Dim swDrawDoc           As SldWorks.DrawingDoc

    Dim swModelDocExt       As SldWorks.ModelDocExtension

    Dim swExportPDFData     As SldWorks.ExportPdfData

    Dim boolstatus          As Boolean

    Dim filename            As String

    Dim lErrors             As Long

    Dim lWarnings           As Long

    Dim strSheetName()      As String

    Dim varSheetName        As Variant


    ' Path to which to save PDF file of drawing (I need this to be in DWG format)

    filename = "C:\xxxxxxxxx.PDF"


    Set swApp = Application.SldWorks

    swApp.Visible = True


    Set swModel = swApp.ActiveDoc

    Set swDrawDoc = swModel

    Set swModelDocExt = swModel.Extension


    Set swExportPDFData = swApp.GetExportFileData(swExportDataFileType_e.swExportPDFData)


    ReDim strSheetName(0)

    Dim s As Variant

    For Each s In swDrawDoc.GetSheetNames

        If UCase(s) Like "*NCP*" Then

            strSheetName(UBound(strSheetName)) = s

            ReDim Preserve strSheetName(UBound(strSheetName) + 1)

        End If

    Next s


    varSheetName = strSheetName

    If swExportPDFData Is Nothing Then MsgBox "Nothing"

    boolstatus = swExportPDFData.SetSheets(swExportData_ExportSpecifiedSheets, varSheetName)


boolstatus = swModelDocExt.SaveAs(filename, 0, 0, swExportPDFData, lErrors, lWarnings)


End Sub