![]() ![]() PapersNames = String$(64 * papersCount, 0)ĭeviceCapabilities printerName, "", DC_PAPERNAMES, ByVal papersNames, 0ĭim i As Integer For i = 0 To papersCount If papersCount > 0 Then Dim papersCodes() As Integer ReDim papersCodes(papersCount - 1)ĭeviceCapabilities printerName, "", DC_PAPERS, papersCodes(0), 0 PapersCount = DeviceCapabilities(printerName, "", DC_PAPERS, ByVal vbNullString, 0) VStartEndPages = Split(Trim( CStr(vPageRanges(i))), "-")ĭim startPage As Long Dim endPage As LongĮrr.Raise vbError, "", "Invalid page range: " & CStr(vPageRanges(i))Įnd Function Function GetPaper(printerName As String, paperName As String) As Integer Const DC_PAPERNAMES As Integer = &H10 ReDim printRange((UBound(vPageRanges) + 1) * 2 - 1)ĭim i As Integer For i = 0 To UBound(vPageRanges) = origUsePageSetupĮnd Sub Function GetPrintRange(range As String) As Variant Dim printRange() As Long If range = "*" Then ReDim printRange(1) SwPageSetup.Orientation = origOrientation SwPageSetup.PrinterPaperSize = origPrinterPaperSize SwPrintSpec.printRange = GetPrintRange(PRINT_RANGE) = swPageSetupInUse_e.swPageSetupInUse_Documentĭim swPrintSpec As SldWorks.PrintSpecification SwPageSetup.Orientation = PRINT_ORIENTATION SwPageSetup.PrinterPaperSize = GetPaper(PRINTER_NAME, PRINTER_PAPER_SIZE) OrigOrientation = swPageSetup.Orientation OrigPrinterPaperSize = swPageSetup.PrinterPaperSize ![]() Private Declare PtrSafe Function DeviceCapabilities Lib "winspool.drv" Alias "DeviceCapabilitiesA" ( ByVal lpDeviceName As String, ByVal lpPort As String, ByVal iIndex As Long, ByRef lpOutput As Any, ByRef lpDevMode As Any) As Long Dim swApp As SldWorks.SldWorksĬonst PRINTER_NAME As String = "Microsoft Print To PDF" Const PRINT_RANGE As String = "1-3,5" Const PRINT_ORIENTATION As Integer = swPageSetupOrientation_e.swPageSetupOrient_LandscapeĬonst PRINTER_PAPER_SIZE As String = "A3" Const PRINT_SCALE As String = "*" Sub main()Įrr.Raise vbError, "", "Please open the document" End If Dim swPageSetup As SldWorks.PageSetupĭim origPrinter As String Dim origPrinterPaperSize As Integer Dim origScaleToFit As Boolean Dim origScale As Double Dim origOrientation As Integer Dim origUsePageSetup As Integer
0 Comments
Leave a Reply. |