![]() |
#1
|
|||
|
|||
![]()
Once I can get past this, I am sure I can get the rest of the Macros to work which have different function based upon the choice.
For all our printers, Tray 1 is the envelope feeder, Tray 2 is letterhead, Tray 3 is Bond and Tray 4 is plain and tray 5 is manual feed. I have a macro that I used in 2010 that I cannot get the vba to work in 2016 word. It bypasses and goes to the "else" at the end. I think it is not understanding how to read the current active printer. All the macros I am seeing for printing go to change the active printer. I think it may be related to the WordBasic command at the top. This works fine in 2010: No matter what I do, it is printing to the tray 4 which is plain paper for the printers which are listed by a code (xerox) and Tray 3 only (bond) for the other type of printer. Code:
Sub whichprinter() Dim defprinter As String defprinter = Mid(ActivePrinter, 1, 20) WordBasic.Insert defprinter End Sub Sub PrintLetterhead() Dim defprinter As String defprinter = Mid(ActivePrinter, 1, 20) Select Case defprinter Case "\\GS-DC2\MFP1" With ActiveDocument.PageSetup .FirstPageTray = 260 .OtherPagesTray = 259 End With GoTo PrintDoc Case "\\GS-DC2\MFP2" With ActiveDocument.PageSetup .FirstPageTray = 260 .OtherPagesTray = 259 End With GoTo PrintDoc Case "\\GS-DC2\MFP3" With ActiveDocument.PageSetup .FirstPageTray = 260 .OtherPagesTray = 259 End With GoTo PrintDoc Case "\\GS-DC2\MFP4" With ActiveDocument.PageSetup .FirstPageTray = 260 .OtherPagesTray = 259 End With GoTo PrintDoc Case "\\GS-DC2\MFP5" With ActiveDocument.PageSetup .FirstPageTray = wdPrinterMiddleBin .OtherPagesTray = wdPrinterLowerBin End With Case "\\GS-DC2\MFP6" With ActiveDocument.PageSetup .FirstPageTray = wdPrinterMiddleBin .OtherPagesTray = wdPrinterLowerBin End With GoTo PrintDoc Case "Bookkeeping Xerox WorkCentre Pro 5335" With ActiveDocument.PageSetup .FirstPageTray = 260 .OtherPagesTray = 259 End With GoTo PrintDoc Case Else With ActiveDocument.PageSetup .FirstPageTray = 258 .OtherPagesTray = 259 End With GoTo PrintDoc End Select PrintDoc: Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _ wdPrintDocumentWithMarkup, Copies:=1, Pages:="", PageType:= _ wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _ PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _ PrintZoomPaperHeight:=0 End Sub Last edited by macropod; 10-04-2018 at 01:39 PM. Reason: Added code tags |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
SMNRyan | Word | 2 | 06-20-2013 01:04 PM |
MS Word 2003, printer queue in 'printer properties' shows 1 job; no job in printer | benhuxham | Word | 0 | 07-25-2011 06:58 PM |
![]() |
pclum | Word | 4 | 07-02-2011 02:36 AM |
![]() |
Nonplussed | Word | 1 | 02-03-2011 03:20 PM |
![]() |
Nathalie Palmer | Word | 3 | 01-06-2011 01:50 AM |