Whatever printer you have to use LPT1 or any Printer Port.
Will you post what you had been tryed?
the code i used is
'selects the printer model from the dropdown
Private Sub cmbPrinters_Click()
mvarPrinterName = cmbPrinters.Text
InitialisePrinter
ExitPacketMode
End Sub
Private Sub Command1_Click()
MoveHorizontal
'MoveVertical
End Sub
Private Sub Form_Load()
UpdateCmbPrinters
End Sub
Private Sub UpdateCmbPrinters()
Dim i As Integer
i = 0
For Each X In Printers
cmbPrinters.List(i) = X.DeviceName
i = i + 1
Next
cmbPrinters.ListIndex = 0
End Sub
'module2 code
Option Explicit
Public iStartHour As Integer
Public buffer As String
Public textFile As String
Public graphFile As String
Public Type TCharacterString
CharacterID As Integer
arrayCharacterMap(rowCount, colCount) As Boolean
End Type
Public Type TParaProp
mCharacterString() As TCharacterString
End Type
Public mParaProp(5) As TParaProp
Public iGraphBufferCount As Integer
Public ArrayGraphBuffer(GraphBufferCount) As String
Public gFso As New FileSystemObject, gFil As File, gTs As TextStream
Public LineCount As Long 'local copy
Public iTextBuffer(89) As Integer
Public iCmdBuffer() As Integer
Public iGraphBuffer() As Long
Public lGraphData As Long
Public mvarPrinterID As Integer
Public mvarPrinterName As String
Private Sub OpenTextFile()
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(textFile) = True Then
fso.DeleteFile (textFile)
fso.CreateTextFile (textFile)
Else
fso.CreateTextFile (textFile)
End If
Set fil = fso.GetFile(textFile)
Set ts = fil.OpenAsTextStream(ForWriting)
End Sub
Private Sub CloseTextFile()
ts.Close
Set ts = Nothing
Set fil = Nothing
Set fso = Nothing
End Sub
Public Sub InitialisePrinter()
Dim i As Integer
Dim t As Integer
iStartHour = 0
LineCount = 0
lGraphData = 2800
ReDim iGraphBuffer(lGraphData)
'ReDim iCmdBuffer(rsCmdMaster.RecordCount + lGraphData)
textFile = "C:\f" & mvarPrinterName & "." & "txt"
graphFile = "C:\g" & mvarPrinterName & "." & "txt"
iGraphBufferCount = 0
End Sub
Public Sub ExitPacketMode()
OpenTextFile
buffer = Chr(0) + Chr(0) + Chr(0) + Chr(27) + Chr(1) + "@EJL" + Chr(32) + "1284.4" + Chr(10) + "@EJL" + Chr(32) + Chr(32) + Chr(32) + Chr(32) + Chr(32) + Chr(10)
ts.Write buffer
CloseTextFile
Test (textFile)
OpenTextFile
buffer = Chr(27) + "@"
ts.Write buffer
CloseTextFile
Test (textFile)
End Sub
Public Sub TerminatePrinter()
End Sub
Public Sub ResetPrinter()
OpenTextFile
buffer = Chr(27) + "E"
ts.Write buffer
CloseTextFile
Test (textFile)
End Sub
Public Sub MoveVertical()
Dim i As Integer
OpenTextFile
buffer = Chr(27) + "J" + Chr(4)
ts.Write buffer
CloseTextFile
Test (textFile)
End Sub
Public Sub MoveHorizontal()
Dim i As Integer
OpenTextFile
'ascii value for paper source
buffer = Chr(27) + Chr(38) + Chr(108) + Chr(48) + Chr(72)
ts.Write buffer
CloseTextFile
Test (textFile)
End Sub
Public Sub Home()
Dim i As Integer
OpenTextFile
buffer = Chr(13)
ts.Write buffer
CloseTextFile
Test (textFile)
End Sub
Private Sub outputBuffer()
Dim i As Integer
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(textFile) = True Then
fso.DeleteFile (textFile)
fso.CreateTextFile (textFile)
Else
fso.CreateTextFile (textFile)
End If
Set fil = fso.GetFile(textFile)
Set ts = fil.OpenAsTextStream(ForWriting)
buffer = Chr(iTextBuffer(0))
For i = 1 To 79
buffer = buffer + Chr(iTextBuffer(i))
Next i
ts.Write buffer
ts.Close
Set ts = Nothing
Set fil = Nothing
Set fso = Nothing
End Sub
Private Sub Test(ByVal FileName As String)
Dim i As Integer
i = vbSendPrnToPrinter(FileName, mvarPrinterName)
End Sub
Private Sub FillBufferBlank()
Dim i As Integer
For i = 0 To 89
iTextBuffer(i) = 32
Next i
End Sub
Private Sub FillGraphBufferBlank()
Dim i As Integer
For i = 0 To 2000
iGraphBuffer(i) = 0
Next i
End Sub
Private Sub outputGraphBuffer()
Dim i As Integer
Dim GraphBuffer As String
If iGraphBufferCount = (GraphBufferCount - 1) Then
Set gFso = CreateObject("Scripting.FileSystemObject")
If gFso.FileExists(graphFile) = True Then
gFso.DeleteFile (graphFile)
gFso.CreateTextFile (graphFile)
Else
gFso.CreateTextFile (graphFile)
End If
Set gFil = gFso.GetFile(graphFile)
Set gTs = gFil.OpenAsTextStream(ForWriting)
GraphBuffer = ArrayGraphBuffer(0)
For i = 1 To GraphBufferCount - 1
GraphBuffer = GraphBuffer & ArrayGraphBuffer(i)
Next i
gTs.Write GraphBuffer
gTs.Close
Set gTs = Nothing
Set gFil = Nothing
Set gFso = Nothing
iGraphBufferCount = 0
Test (graphFile)
Else
ArrayGraphBuffer(iGraphBufferCount) = Chr(iCmdBuffer(0))
For i = 1 To rsCmdMaster.RecordCount + lGraphData - 1
ArrayGraphBuffer(iGraphBufferCount) = ArrayGraphBuffer(iGraphBufferCount) + Chr(iCmdBuffer(i))
Next i
iGraphBufferCount = iGraphBufferCount + 1
End If
End Sub
'module1 code
Public ColumnWidth As Long
Public Const PageWidth = 360
Public Const rowCount = 7
Public Const colCount = 4
Public Const GraphBufferCount = 60
Public Const StartPos = 5
'Return codes
Public Const ERR_NOERROR = 0 'No error
Public Const ERR_DEFPRINTER = 1 'Error obtaining default printer
Public Const ERR_OPENFILE = 2 'Error opening file
Public Const ERR_OPENPRINTER = 3 'Error opening printer
Public Const ERR_PRINT = 4 'Error sending date to printer
Public Const ERR_FILE = 5 'Error reading file
'Function declarations
Public Declare Function vbSendPrnToPrinter Lib "BINPRN32.DLL" (ByVal pFilename As String, ByVal pPrinterName As String) As Integer
Public Declare Function vbGetDefPrinterName Lib "BINPRN32.DLL" (ByVal pPrinterName As String) As Integer
Public Declare Function vbSendPrnToDefPrinter Lib "BINPRN32.DLL" (ByVal pFilename As String) As Integer
Public fso As New FileSystemObject, fil As File, ts As TextStream
Public Function CNull(Variable As Variant, Value As Variant)
On Error Resume Next
If IsNull(Variable) Then
CNull = Value
Else
If IsNull(Variable) = False Then
CNull = Variable
Else
CNull = Value
End If
End If
End Function
'different values of ascii are not accepted too.