List 7-57 ユーザーが設定した用紙をPrinterオブジェクトに反映させる


  1: On Error Resume Next
  2: 
  3: ' 用紙サイズ
  4: If vDevMode.dmPaperSize <> vbPRPSUser Then
  5:     ' 定型用紙である
  6:     Printer.PaperSize = vDevMode.dmPaperSize
  7: Else
  8:     ' 不定形用紙である
  9:     Printer.PaperSize = vbPRPSUser
 10:     Printer.Width = Printer.ScaleX(vDevMode.dmPaperWidth, _
                                        vbHimetric, Printer.ScaleMode)
 11:     Printer.Height = Printer.ScaleY(vDevMode.dmPaperLength, _
                                         vbHimetric, Printer.ScaleMode)
 12: End If
 13: 
 14: If Err.Number <> 0 Then
 15:     MsgBox "指定された用紙サイズが不正です", vbOKOnly, "プリンタの設定"
 16:     Err.Clear
 17: End If
 18: 
 19: ' 給紙トレイ
 20: Printer.PaperBin = vDevMode.dmDefaultSource
 21: 
 22: ' 印字品質
 23: Printer.PrintQuality = vDevMode.dmPrintQuality
 24: 
 25: ' カラー
 26: Printer.ColorMode = vDevMode.dmColor
 27: 
 28: ' 両面印刷
 29: Printer.Duplex = vDevMode.dmDuplex
 30: 
 31: ' 用紙の向き
 32: Printer.Orientation = vDevMode.dmOrientation
 33: 
 34: ' 拡大率
 35: Printer.Zoom = vDevMode.dmScale
 36: On Error Goto 0