Public Function PrintOut(PrinterName$, PageSize&, PageOrientenation&, Optional Demo& = 0) As Long ' ************* ' -> print drawing ' ************* Dim SheetNr&, PageSetup As Object ' -> page setuo Set PageSetup = swObj.PageSetup swObj.Printer = PrinterName ' set printer sw.SetUserPreferenceIntegerValue swPageSetupPrinterDrawingColor, swPageSetup_BlackAndWhite ' color: black & white swObj.Extension.UsePageSetup = swPageSetupInUse_Document ' use doc page setup With PageSetup .Orientation = PageOrientenation ' orientation .PrinterPaperSize = PageSize ' page size .ScaleToFit = False: .Scale2 = 100 ' -> scale mode End With ' -> get sheet number Dim sheetnames() As String, i&, sheetCount& sheetCount = swObj.GetSheetCount - 1 ReDim sheetnames(sheetCount) sheetnames = swObj.GetSheetNames SheetNr = 1 For i = 0 To sheetCount If sheetnames(i) = Sheet.GetName Then SheetNr = i + 1 Exit For End If Next i ' -> print If Demo = 0 Then swObj.PrintOut2 SheetNr, SheetNr, 1, False, "", 1#, False, "" ' -> or preview If Demo = 1 Then swObj.PrintPreview End Function