Ask questions. Help others.
The HP Community is here for you.
Post new question
Note on archived topics.
This topic has been archived. Information and links in this thread may no longer be available or relevant.
If you have a question create a new topic by clicking here, or click on "Post new question" above and select the appropriate board.
Honor Student
Posts: 2
Member Since: ‎12-12-2013
Message 1 of 3 (5,616 Views)

Paper Tray constans for MS Word for HP Color LaserJet CP1515n

I'm trying to set the paper tray to the manual envelope feed with this VBA code (Word 2007):


mailmergeDoc.PageSetup.FirstPageTray = 6
mailmergeDoc.PageSetup.OtherPagesTray = 6
mailmergeDoc.PrintOut Copies:=NumberOfCopies


The numbers corresponding to the wdPaperTray constants have no effect (I tried several of them). Does my HP Color LaserJet CP1515n require different numbers?

0 Kudos
Honor Student
Posts: 3
Member Since: ‎12-12-2013
Message 2 of 3 (5,597 Views)

Re: Paper Tray constans for MS Word for HP Color LaserJet CP1515n

I'm not sure what the number you are using would refer to. 


Have you tried this?


mailmergeDoc.PageSetup.FirstPageTray = "wdPrinterManualFeed" or "wdPrinterManualEnvelopeFeed" or "wdPrinterEnvelopeFeed"

mailmergeDoc.PageSetup.OtherPagesTray = wdPrinterManualFeed

mailmergeDoc.PrintOut Copies:=NumberOfCopies




Honor Student
Posts: 2
Member Since: ‎12-12-2013
Message 3 of 3 (5,583 Views)

Re: Paper Tray constans for MS Word for HP Color LaserJet CP1515n

I am actually using OLE-automation and late binding in Access (mailmergeDoc As Object). Therefore Word's wdPaperTray enumeration is not accessible to me. But since the enumeration constants are defined like wdPrinterManualFeed = 4, I simply use the numbers. I have done this sucessfully in similar situations.


The problem is that the driver of the LaserJet expects completely different constants. Finally I solved the problem with this little C# console application:

foreach (string p in PrinterSettings.InstalledPrinters) {
    PrinterSettings settings = new PrinterSettings { PrinterName = p };
    foreach (PaperSource paperSource in settings.PaperSources) {
        Console.WriteLine("    PaperSource: Name = {0}, Kind = {1}, RawKind = {2}", paperSource.SourceName, paperSource.Kind, paperSource.RawKind);

 It yields the following RawKind values:

  Automatically Select = 15

  Printer auto select = 257

  Manual Feed in Tray 1 = 258

  Tray1 = 259

  Tray 2 = 260


This works and prints the second page from the manual feed (VBA):

mailmergeDoc.PageSetup.FirstPageTray = 0
mailmergeDoc.PageSetup.OtherPagesTray = 258
mailmergeDoc.PrintOut Copies:=1


† The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation