Senin, 28 September 2015

VBA Code untuk Print

VBA Code Print
Jika Anda membuat aplikasi menggunakan Ms. Excel terkadang Anda membutuhkan fasilitas untuk mencetak dokumen di Ms. Excel tersebut. Nah Anda mengharuskan untuk membuat kode atau script VBA untuk proses pencetakan / print tersebut. Lalu bagaimana caranya? berikut ini saya berikan contoh sript VBA untuk print.

Option Explicit
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const VK_SNAPSHOT = 44
Const VK_LMENU = 164
Const KEYEVENTF_KEYUP = 2
Const KEYEVENTF_EXTENDEDKEY = 1

Private Sub CommandButton1_Click()
    DoEvents
    Application.ScreenUpdating = False
    keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY, 0
    keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY, 0
    keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP, 0
    keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP, 0
    DoEvents
    Workbooks.Add
    Application.Wait Now + TimeValue("00:00:01")
    ActiveSheet.PasteSpecial Format:="Bitmap", Link:=False, _
    DisplayAsIcon:=False
    ActiveSheet.Range("A1").Select
   
     'Kode Print Landscape
    ActiveSheet.PageSetup.Orientation = xlLandscape
    With ActiveSheet.PageSetup
        .PrintTitleRows = ""
        .PrintTitleColumns = ""
    End With
    ActiveSheet.PageSetup.PrintArea = ""
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0.75)
        .RightMargin = Application.InchesToPoints(0.75)
        .TopMargin = Application.InchesToPoints(1)
        .BottomMargin = Application.InchesToPoints(1)
        .HeaderMargin = Application.InchesToPoints(0.5)
        .FooterMargin = Application.InchesToPoints(0.5)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .CenterHorizontally = True
        .CenterVertically = True
        .Orientation = xlLandscape
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 1
    End With
    ActiveWindow.SelectedSheets.PrintOut Copies:=1
    ActiveWorkbook.Close False
    Application.ScreenUpdating = True
End Sub
Langsung saja Anda silakan buat sebuah Userform dan tambahkan CommandButton1 untuk tombol cetak lalu silakan view code dan paste kan kode VBA print diatas dan silakan coba praktekkan sendiri kemudian lihat hasilnya.

Silakan simak juga VBA Print dan Print Preview

Tidak ada komentar:

Posting Komentar

LPJ BOS SMK Tahun Anggaran 2020

LPJ BOS SMK Tahun Anggaran 2020 User via SMS :  0857 5954 7892 FB :  https://web.facebook.com/iwan.kurniawanb Twitte...