Skip to main content

Print Menggunakan Continues Form

Pernahkan anda mengalami kesulitan untuk mencetak text/faktur pada continues form. nah jangan khawatir berikut ini adalah salah satu contoh untuk mencetak text pada continues form.

Pada Module1 paste code berikut:

Option Explicit
Private Type DOCINFO
pDocName As String
pOutputFile As String
pDatatype As String
End Type

Private Declare Function ClosePrinter Lib "winspool.drv" (ByVal _
hPrinter As Long) As Long
Private Declare Function EndDocPrinter Lib "winspool.drv" (ByVal _
hPrinter As Long) As Long
Private Declare Function EndPagePrinter Lib "winspool.drv" (ByVal _
hPrinter As Long) As Long
Private Declare Function OpenPrinter Lib "winspool.drv" Alias _
"OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, _
ByVal pDefault As Long) As Long
Private Declare Function StartDocPrinter Lib "winspool.drv" Alias _
"StartDocPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, _
pDocInfo As DOCINFO) As Long
Private Declare Function StartPagePrinter Lib "winspool.drv" (ByVal _
hPrinter As Long) As Long
Declare Function WritePrinter Lib "winspool.drv" (ByVal _
hPrinter As Long, pBuf As Any, ByVal cdBuf As Long, _
pcWritten As Long) As Long

Public lhPrinter As Long

Function LoadPrintRedirect() As Boolean
Dim lReturn As Long
Dim lDoc As Long
Dim MyDocInfo As DOCINFO
ClosePrintRedirect
lReturn = OpenPrinter(Printer.DeviceName, lhPrinter, 0)

If lReturn = 0 Then
Exit Function
End If
MyDocInfo.pDocName = "Laporan Printer"
MyDocInfo.pOutputFile = vbNullString
MyDocInfo.pDatatype = vbNullString
lDoc = StartDocPrinter(lhPrinter, 1, MyDocInfo)
Call StartPagePrinter(lhPrinter)
LoadPrintRedirect = True
End Function

Sub ClosePrintRedirect()
Dim lReturn As Long
lReturn = EndPagePrinter(lhPrinter)
lReturn = EndDocPrinter(lhPrinter)
lReturn = ClosePrinter(lhPrinter)
End Sub

Sub WriteToPrinter(sWrittenData As String, Optional WithBR As Boolean = False)
Dim lReturn As Long
Dim lpcWritten As Long
sWrittenData = sWrittenData '& IIf(WithBR = True, vbCrLf, "")
lReturn = WritePrinter(lhPrinter, ByVal sWrittenData, _
Len(sWrittenData), lpcWritten)
End Sub


Pada Form1 Buat 2 tombol (Command1,Command2) dan TextBox(Text1) lalu Paste Code berikut:

Private Sub Command1_Click()
LoadPrintRedirect
WriteToPrinter Replace(Text1.Text, vbCrLf, Chr(13))
ClosePrintRedirect
End Sub

Private Sub Command2_Click()
esc$ = Chr$(27)
boldon$ = esc$ + "(s3B"
boldoff$ = esc$ + "(s0B"
formfeed$ = Chr$(12)

LoadPrintRedirect
WriteToPrinter boldon$ + "This is in bold" + boldoff$ & vbCrLf
ClosePrintRedirect

End Sub

Private Sub Form_Load()
LoadPrintRedirect
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
ClosePrintRedirect
End Sub


Selesai dan selamat mencoba.
(Dari berbagai sumber).

Comments

Popular posts from this blog

Apa itu Port ?

Mengenal apasih yang dinamakan PORT? kayaknya sering denger tapi belum paham. Nah port itu adalah suatu celah atau pintu atau lubang pada system komputer / micro computer sebagai jalur transfer data. Pada system komputer sebenarnya ada dua jenis Port yaitu : Port fisik,adalah soket atau slot atau colokan yang ada di belakang CPU sebagai penghubung peralatan input-output komputer, misalnya Mouse, keyboard, printer…dll Port Logika (non fisik),adalah port yang di gunakan oleh Software sebagai jalur untuk melakukan koneksi dengan komputer lain, tentunya termasuk koneksi internet Port Logika inilah yang akan kita bahas di sini, yaitu port yang berhubungan secara langsung dengan kegiatan kita ber-internet. 1. Port 80, Web Server Port ini biasanya digunakan untuk web server, jadi ketika user mengetikan alamat IP atau hostname di web broeser maka web browser akan melihat IP tsb pada port 80, 2. Port 81, Web Server Alternatif ketika port 80 diblok maka port 81 akan digunakan sebagai port

Mengenal NNTP (Network News Transfer Protocol) Pada Server

NNTP (Network News Transfer Protocol) NNTP merupakan protocol aplikasi internet yang berguna untuk membaca dan mem-posting artikel berita dalam jaringan (membentuk newsgroup dan grup diskusi dalam). Dengan menggunakan reader news client standar seperti Microsoft Outlook Express, pengguna/ user dalam sebuah jaringan dapat membaca artikel dari orang lain yang mempunyai hobi yang sama, mengirim artikel ke user lain dan ikut berpartisipasi dalam sebuah diskusi. NNTP beroperasi dalam sebuah chanel data stream bidirectional 8-bit yang handal. Ketika koneksi terbentuk, NNTP server host harus mengirimkan sebuah pesan pembuka (greeting) kemudian server host dan client host saling mempertukarkan commands dan merespon sampai koneksi tertutup atau dibatalkan. Jika koneksi yang digunakan TCP maka server host akan mulai menjalankan service NNTP dengan membuka sebuah TCP port. Ketika client host ingin menggunakan service maka client haris membentuk koneksi TCP dengan server host dengan cara konek ke

Menghapus Driver Audio Realtek yang Error

Kali ini saya berbagi pengalaman tentang instalasi OS Ms. Windows XP pada komputer. Biasanya setelah instalasi OS selesai kita masukin tu driver-driver device komputernya supaya di detect dan bekerja normal hardwarenya. Nah pas install driver audio / soundcard realtek ada kejadian driver yang diinstall salah, jadi trouble deh. Mau di disable trus un install drivernya, muncul pesan Error boot bla bla.... wah jadi pusing, untung nemu cara gini, silahkan dicoba. Dan biasanya problemnya, Installation failure and terminate alias komputer / laptop jadi bisu karena gagal mengenal Driver audio. Nah penyebabnya, Microsoft Universal Audio Architecture (UAA) driver terlalu memaksa ketika mengenali Realtek HD pada saat instalasi Solusi : - Hapus (UnInstall) terlebih dahulu program Realtek HD Audio - Disable MS UAA Bus Driver for HD Audio Realtek, caranya : Buka Control Panel>Device Manager> cari System Device (bagian bawah) > pada Ms UAA Bus Driver klik kanan pilih Disable trus UnInstall