From: Agus
Hallo,
saya membuat program, yang membuat report laporan tercetak di kertas kecil (printer kasir)
sebelumnya menggunakan port LPT1, dengan perintah
Open "LPT1" for Output As #1
Print #1, "This is a sample test"
Close #1
sekarang ini udah banyak printer yang hanya punya port usb doang,
kalo saya pake perintah :
Open "USB001" for Output As #1, yg terjadi terbentuk file text dengan nama file USB001.
Ada yg bisa mengarahkan hasil /output printer ke usb....
thank before...
--------
Open "LPT1" for Output As #1
Print #1, "This is a sample test"
Close #1
I tried to replace "Lpt1" with "USB001" but it did not work.
I can't print anything to my USB as no error appears.
Can you help to show how can I code my VB codes so that I can print
to my USB port.
Thanks.
-------===================
From: Soeki
Silahkan source code berikut ini:
' ----------------
' ----------------
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
Private Declare Function WritePrinter Lib "winspool.drv" (ByVal hPrinter As Long, pBuf As Any, ByVal cdBuf As Long, pcWritten As Long) As Long
Public Sub GSN_Print(NamaFile As String, DataPrint As String)
Dim lhPrinter As Long
Dim lReturn As Long
Dim lpcWritten As Long
Dim lDoc As Long
Dim sWrittenData As String
Dim MyDocInfo As DOCINFO
lReturn = OpenPrinter(Printer.DeviceName, lhPrinter, 0)
If lReturn = 0 Then
MsgBox "Printer tidak dikenali!", vbCritical, "Error"
Exit Sub
End If
MyDocInfo.pDocName = NamaFile
MyDocInfo.pOutputFile = vbNullString
MyDocInfo.pDatatype = "RAW"
lDoc = StartDocPrinter(lhPrinter, 1, MyDocInfo)
Call StartPagePrinter(lhPrinter)
sWrittenData = vbCrLf & DataPrint & vbCrLf
' vbFormFeed
lReturn = WritePrinter(lhPrinter, ByVal sWrittenData, Len(sWrittenData), lpcWritten)
lReturn = EndPagePrinter(lhPrinter)
lReturn = EndDocPrinter(lhPrinter)
lReturn = ClosePrinter(lhPrinter)
End Sub
Private Sub Command1_Click()
Dim NamaFile As String
Dim DataPrint As String
NamaFile = "namafileku" 'terserah diisi apa, tidak ikut di-print. Hanya muncul di Window Queue Printer
DataPrint = "Hello," & vbCrLf & "selamat pagi," & vbCrLf & "Nama saya Sukiyanto." & vbCrLf & "http://www.gsn-soeki.com"
Call GSN_Print(NamaFile, DataPrint)
End Sub
'-----------------------
--------------------===============
Web Designer - Web Content Updater - Web Promotion : http://www.gsn-soeki.com/
Koleksi Artikel Pilihan Webmaster: http://www.top31.net
Koleksi Semua Artikel Menarik: http://www.gsn-soeki.com/wouw/
Suka dengan artikel ini? [Bagikan artikel ini ke teman2-mu di FACEBOOK. Klik disini]