Private Declare Function OpenPrinter Lib "winspool.drv" Alias _
"OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, _
ByVal pDefault As Long) As Long
J'ai bien mis ce que tu m'as écrit dans un module et ensuite je l’appel avec un bouton...
mais qu'entend tu par 3 paramètres
J'ai écrit quelque chose dans ce genre, qu'es ce qui ne va pas?
Code:
Private Sub CommandButton1_Click()
OpenPrinter
ESC p m t1 t2
[Name] Generate pulse
[Format] ASCII ESC p m t1 t2
Hex 1B 70 m t1 t2
Decimal 27 112 m t1 t2
[Range] m = 0, 1, 48, 49
0 = t1 = 255
0 = t2 = 255
End Sub
Merci d'avoir essayé de me faire un fichier, je l'ai tester mais après avoir selectionné mon imprimante, j'essai d'ouvrir le tiroir mais une erreur se produit, mais ce n'est pas grave car entre temps j'ai réussi à trouver ce qu'il me fallait
J'ai réussi avec ceci:
Code:
Private Sub CommandButton1_Click()
Open "LPT1:" For Output As #1
Print #1, Chr$(&H1B); "p"; Chr$(0); Chr$(3); Chr$(2);
Close #1
End Sub
En fait il me suffit d’écrire le code sur le port LPT1, mais tu me diras que je suis connecté en usb, c'est donc en utilisant une petite application (DOSPrint) que je peut redirigé le LPT1 vers le port USB
Sinon, connaîtrais tu un moyen pour écrire sur le port USB comme je le fait avec LPT1 pour me passer de l'application?
Peut-etre que l'erreur générer vient du fait que le code d'ouverture que j'envoie n'est pas le bon.
Dans mon code j'ai un write line avec la ligne de code a envoyé a l'imprimante
Tu as essayer ta ligne de code dans mon code?
comme ceci
Code:
Function OuvrirTiroirCaisse()
Dim strFileAndPath As String, STDprinter As String
strFileAndPath = "c:\codeToPrinter.txt"
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile(strFileAndPath, True)
a.Close
Open strFileAndPath For Output As #1
Print #1, Chr$(&H1B); "p"; Chr$(0); Chr$(3); Chr$(2);
Close #1
STDprinter = Application.ActivePrinter
Application.ActivePrinter = RetourNomImprimate(STDprinter)
lngReturn = apiShellExecute(hWndAccessApp, "print", strFileAndPath, vbNullString, vbNullString, 0)
Application.ActivePrinter = STDprinter
End Function
Ou encore ceci
Code:
Function OuvrirTiroirCaisse()
Dim strFileAndPath As String, STDprinter As String
strFileAndPath = "c:\codeToPrinter.txt"
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile(strFileAndPath, True)
a.WriteLine Chr$(&H1B) & "p" & Chr$(0) & Chr$(3) & Chr$(2)
a.Close
STDprinter = Application.ActivePrinter
Application.ActivePrinter = RetourNomImprimate(STDprinter)
lngReturn = apiShellExecute(hWndAccessApp, "print", strFileAndPath, vbNullString, vbNullString, 0)
Application.ActivePrinter = STDprinter
End Function
Merci d'avoir essayé de me faire un fichier, je l'ai tester mais après avoir selectionné mon imprimante, j'essai d'ouvrir le tiroir mais une erreur se produit, mais ce n'est pas grave car entre temps j'ai réussi à trouver ce qu'il me fallait
J'ai réussi avec ceci:
Code:
Private Sub CommandButton1_Click()
Open "LPT1:" For Output As #1
Print #1, Chr$(&H1B); "p"; Chr$(0); Chr$(3); Chr$(2);
Close #1
End Sub
En fait il me suffit d’écrire le code sur le port LPT1, mais tu me diras que je suis connecté en usb, c'est donc en utilisant une petite application (DOSPrint) que je peut redirigé le LPT1 vers le port USB
Sinon, connaîtrais tu un moyen pour écrire sur le port USB comme je le fait avec LPT1 pour me passer de l'application?