余白を設定するには?


なお  2004-05-31 09:36:42  No: 83687  IP: [192.*.*.*]

printformでA4縦に下記の設定で印刷してOKでしたが、
上部からいきなり印刷でしたので
余白を設定したいのですが、わかりません。
ご存知の方、ご教授よろしくお願いします。
Printer.PaperSize = vbPRPSA4
Printer.Orientation = 1

編集    削除
ぴろあき  2004-05-31 21:14:33  No: 83688  IP: [192.*.*.*]

PrintFormでは無理かと。。。
1.画面をキャプチャする
2.キャプチャした画面を印刷する

といった手順で印刷すれば、余白の設定も可能です。

<サンプル>
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Private Sub Command1_Click()
    Dim LeftWhite As Single   '左余白
    Dim TopWhite As Single    '上余白
    
    LeftWhite = 1000
    TopWhite = 2000

    Call keybd_event(&HA4, &H56, &H1, 0)
    Call keybd_event(&H2C, &H79, &H1, 0)
    Call keybd_event(&H2C, &H79, &H3, 0)
    Call keybd_event(&HA4, &H56, &H3, 0)
    
    Printer.PaintPicture Clipboard.GetData(vbCFBitmap), LeftWhite, TopWhite

    Printer.EndDoc
End Sub

編集    削除