Jag får inte objektet PRINTER att fungera, krävs det något referensbibliotek ? With Printer När jag försöker att anropa objektet får jag följande felmeddelande: Testa detta enkla exempel och berätta vad som händer. Det funkade när jag skrev om koden, men fortfarande har jag problem med Printer.Port (jag har flera olika skrivare installerade). Du har missat lika med tecknet. Port är ingen metod. Det gick utmärkt att skriva ut med Printer.Print om skrivaren redan var markerad, men programmet använder flera olika typer av skrivare så jag måste ange mot vilken port utskriften skall ske. Om du skall välja skriva. Kan du skriva så här: Detta funkar kelt OK om skrivaren sitter på LPT1, mitt problem är jag vill ha utskriften till en nätverks-skrivare , om jag då anger den porten så funkar inte detta - hur gör jag? Får du upp "Printer not found!" i en meddelanderuta? Lite Out of Topic Enum = namngivna konstanter, grupperade. Alltså: kräver du att något ska vara av en enum, kan du bara skicka något ur just den enumen. Tar man en enumPort ovan kan man alltså bara ta emot LPT1, LPT2 eller LPT3, det är de enda värdena som funktionen accepterar. Nu har jag äntligen fått lite tid över så jag kan ta tag i detta problem ... När jag försöker att skriva ut på port "Ne06:" så får jag följande felmeddelande: "Bad file name or number" - är det felmedelandet som kommer när programet inte har tillåtelse att skriva till porten? Om så är fallet hur löser man detta.Objektet Printer
Sv:Objektet Printer
.Port "LTP1"
.Print "^XA"
.Print "^DFETIKETT^FS"
.Print "^LH000,00^LL1225^FWN^LRN^CI5^FS"
.Print "^CI5^FS"
'Orientering typsnitt data
.Print "^FO050,520 ^A0,30,24 ^FDxxx^FS"
.Print "^FO050,550 ^A0,30,24 ^FD^FS"
.Print "^FO050,580 ^A0,30,24 ^FDxxxx^FS"
.Print "^FO050,610 ^A0,30,24 ^FDPhone: xxxx^FS"
.Print "^FO0550,610 ^A0,30,24 ^FDDate:^FS"
.Print "^FO0620,610 ^A0,30,24 ^FN1^FS"
.Print "^FO050,650 ^GB800,0,5^FS"
.Print "^FO050,675 ^A0,22,18 ^FDTo^FS"
.Print "^FO050,700 ^A0,45,36 ^FN2^FS"
.Print "^FO050,750 ^A0,45,36 ^FN3^FS"
.Print "^FO050,800 ^A0,45,36 ^FN4^FS"
.Print "^FO050,900 ^A0,90,72 ^FN5^FS"
.Print "^FO050,1000 ^A0,90,72 ^FN6^FS"
.Print "^FO050,1100 ^GB800,0,5^FS"
.Print "^FO050,1125 ^A0,30,24 ^FDTransportinstruction:^FS"
.Print "^FO050,1175 ^A0,60,48 ^FN7^FS"
.Print "^FO075,1250 ^BY4,2.1,120 ^B3N,,N,N ^FN16^FS"
.Print "^FO050,1380 ^A0,30,24 ^FDAccount:^FS"
.Print "^FO210,1380 ^A0,30,36 ^FN9^FS"
.Print "^FO050,1415 ^A0,30,24 ^FDShipment-id:^FS"
.Print "^FO210,1415 ^A0,30,36 ^FN8^FS"
.Print "^FO600,1415 ^A0,30,24 ^FDWeight:^FS"
.Print "^FO700,1415 ^A0,30,36 ^FN10^FS"
.Print "^FO050,1450 ^GB800,0,5^FS"
.Print "^FO050,1500 ^A0,30,24 ^FDContent:^FS"
.Print "^FO210,1500 ^A0,30,36 ^FN11^FS"
.Print "^FO050,1550 ^GB800,0,5^FS"
.Print "^FO050,1600 ^A0,30,24 ^FDOrder:^FS"
.Print "^FO210,1600 ^A0,30,36 ^FN12^FS"
.Print "^FO050,1650 ^A0,30,24 ^FDReference:^FS"
.Print "^FO210,1650 ^A0,30,36 ^FN13^FS"
.Print "^FO050,1700 ^GB800,0,5^FS"
.Print "^FO100,1725 ^BY4 ^BCN,200,N,N ^FN14^FS"
.Print "^FO100,1950 ^A0,30,24 ^FDLicense Plate:^FS"
.Print "^FO250,1950 ^A0,30,36 ^FN15^FS"
.Print "^XZ"
.Print "^XA"
.Print "^XFETIKETT^FS"
.Print "^FN1^FD2006-03-03^FS"
.Print "^FN2^FDxxxxxx^FS"
.Print "^FN3^FDxxxxx^FS"
.Print "^FN4^FDxxx^FS"
.Print "^FN5^FDxxx^FS"
.Print "^FN6^FDCHINA^FS"
.Print "^FN7^FDTNT FREIGHT MAN. BOAT^FS"
.Print "^FN8^FD840 767 325 3^FS"
.Print "^FN16^FD8407673253^FS"
.Print "^FN9^FD11030^FS"
.Print "^FN10^FD254^FS"
.Print "^FN11^FDSteel sheet^FS"
.Print "^FN12^FD158850^FS"
.Print "^FN13^FDNisse Hult^FS"
.Print "^FN14^FD>9>800373200481999955473^FS"
.Print "^FN15^FD(00)37320048 199995547 3^FS"
.Print "^XZ"
.EndDoc
End WithSv: Objektet Printer
Compile error: Method or data member not foundSv:Objektet Printer
Du skall inte behöva någon extre Refernce
<code>
Private Sub Command1_Click()
Printer.ScaleMode = 7
'ScaleMod = centimeter
Printer.FontName = "Arial"
Printer.FontBold = True
Printer.CurrentX = 2: Printer.CurrentY = 3
Printer.FontSize = 16
Printer.Print " Sven testar Claes"
Printer.EndDoc
End Sub
</code>Sv: Objektet Printer
Printer.Port = "LPT1: "
Jag får följande Compile error: "Wrong number of arguments or invalid property assignment"Sv:Objektet Printer
Printer Objektet är tänkt att användas för grafiska utskrifter.
Jag antar att du har en ettiketskrivare eller liknande och du vill skicka ANSII text till parallelporten.
Du borde kunna öppna LPT1 som en fil och skriva till denmed följande kod:
Public Sub PrintOut(Port As String)
Dim FileNo As Long
FileNo = FreeFile()
Open Port For Output Access Write Shared As #FileNo
Print #FileNo, "^XA"
Print #FileNo, "^DFETIKETT^FS"
Print #FileNo, "^LH000,00^LL1225^FWN^LRN^CI5^FS"
Print #FileNo, "^CI5^FS"
'Orientering typsnitt data
Print #FileNo, "^FO050,520 ^A0,30,24 ^FDxxx^FS"
Print #FileNo, "^FO050,550 ^A0,30,24 ^FD^FS"
Print #FileNo, "^FO050,580 ^A0,30,24 ^FDxxxx^FS"
Print #FileNo, "^FO050,610 ^A0,30,24 ^FDPhone: xxxx^FS"
Print #FileNo, "^FO0550,610 ^A0,30,24 ^FDDate:^FS"
Print #FileNo, "^FO0620,610 ^A0,30,24 ^FN1^FS"
Print #FileNo, "^FO050,650 ^GB800,0,5^FS"
Print #FileNo, "^FO050,675 ^A0,22,18 ^FDTo^FS"
Print #FileNo, "^FO050,700 ^A0,45,36 ^FN2^FS"
Print #FileNo, "^FO050,750 ^A0,45,36 ^FN3^FS"
Print #FileNo, "^FO050,800 ^A0,45,36 ^FN4^FS"
Print #FileNo, "^FO050,900 ^A0,90,72 ^FN5^FS"
Print #FileNo, "^FO050,1000 ^A0,90,72 ^FN6^FS"
Print #FileNo, "^FO050,1100 ^GB800,0,5^FS"
Print #FileNo, "^FO050,1125 ^A0,30,24 ^FDTransportinstruction:^FS"
Print #FileNo, "^FO050,1175 ^A0,60,48 ^FN7^FS"
Print #FileNo, "^FO075,1250 ^BY4,2.1,120 ^B3N,,N,N ^FN16^FS"
Print #FileNo, "^FO050,1380 ^A0,30,24 ^FDAccount:^FS"
Print #FileNo, "^FO210,1380 ^A0,30,36 ^FN9^FS"
Print #FileNo, "^FO050,1415 ^A0,30,24 ^FDShipment-id:^FS"
Print #FileNo, "^FO210,1415 ^A0,30,36 ^FN8^FS"
Print #FileNo, "^FO600,1415 ^A0,30,24 ^FDWeight:^FS"
Print #FileNo, "^FO700,1415 ^A0,30,36 ^FN10^FS"
Print #FileNo, "^FO050,1450 ^GB800,0,5^FS"
Print #FileNo, "^FO050,1500 ^A0,30,24 ^FDContent:^FS"
Print #FileNo, "^FO210,1500 ^A0,30,36 ^FN11^FS"
Print #FileNo, "^FO050,1550 ^GB800,0,5^FS"
Print #FileNo, "^FO050,1600 ^A0,30,24 ^FDOrder:^FS"
Print #FileNo, "^FO210,1600 ^A0,30,36 ^FN12^FS"
Print #FileNo, "^FO050,1650 ^A0,30,24 ^FDReference:^FS"
Print #FileNo, "^FO210,1650 ^A0,30,36 ^FN13^FS"
Print #FileNo, "^FO050,1700 ^GB800,0,5^FS"
Print #FileNo, "^FO100,1725 ^BY4 ^BCN,200,N,N ^FN14^FS"
Print #FileNo, "^FO100,1950 ^A0,30,24 ^FDLicense Plate:^FS"
Print #FileNo, "^FO250,1950 ^A0,30,36 ^FN15^FS"
Print #FileNo, "^XZ"
Print #FileNo, "^XA"
Print #FileNo, "^XFETIKETT^FS"
Print #FileNo, "^FN1^FD2006-03-03^FS"
Print #FileNo, "^FN2^FDxxxxxx^FS"
Print #FileNo, "^FN3^FDxxxxx^FS"
Print #FileNo, "^FN4^FDxxx^FS"
Print #FileNo, "^FN5^FDxxx^FS"
Print #FileNo, "^FN6^FDCHINA^FS"
Print #FileNo, "^FN7^FDTNT FREIGHT MAN. BOAT^FS"
Print #FileNo, "^FN8^FD840 767 325 3^FS"
Print #FileNo, "^FN16^FD8407673253^FS"
Print #FileNo, "^FN9^FD11030^FS"
Print #FileNo, "^FN10^FD254^FS"
Print #FileNo, "^FN11^FDSteel sheet^FS"
Print #FileNo, "^FN12^FD158850^FS"
Print #FileNo, "^FN13^FDNisse Hult^FS"
Print #FileNo, "^FN14^FD>9>800373200481999955473^FS"
Print #FileNo, "^FN15^FD(00)37320048 199995547 3^FS"
Print #FileNo, "^XZ"
Close #FileNo
End Sub
Private Sub Command1_Click()
PrintOut "LPT1:"
End Sub
Om du skicka ut "ren" data på paralleporten.
Sv: Objektet Printer
Sv:Objektet Printer
Public Function FindPrinter(Port As String) As Printer
Dim P As Printer
For Each P In Printers
If P.Port = Port Then
Set FindPrinter = P
Exit For
Else
Debug.Print P.Port
End If
Next
End Function
Private Sub PrintButton_Click()
Dim P As Printer
Set P = FindPrinter("LPT1:")
If P Is Nothing Then
MsgBox "Printer not found!", vbExclamation
Else
Set Printer = P
Printer.Print "^XA"
Printer.Print "^DFETIKETT^FS"
Printer.Print "^LH000,00^LL1225^FWN^LRN^CI5^FS"
Printer.Print "^CI5^FS"
'Orientering typsnitt data
Printer.Print "^FO050,520 ^A0,30,24 ^FDxxx^FS"
Printer.Print "^FO050,550 ^A0,30,24 ^FD^FS"
Printer.Print "^FO050,580 ^A0,30,24 ^FDxxxx^FS"
Printer.Print "^FO050,610 ^A0,30,24 ^FDPhone: xxxx^FS"
Printer.Print "^FO0550,610 ^A0,30,24 ^FDDate:^FS"
Printer.Print "^FO0620,610 ^A0,30,24 ^FN1^FS"
Printer.Print "^FO050,650 ^GB800,0,5^FS"
Printer.Print "^FO050,675 ^A0,22,18 ^FDTo^FS"
Printer.Print "^FO050,700 ^A0,45,36 ^FN2^FS"
Printer.Print "^FO050,750 ^A0,45,36 ^FN3^FS"
Printer.Print "^FO050,800 ^A0,45,36 ^FN4^FS"
Printer.Print "^FO050,900 ^A0,90,72 ^FN5^FS"
Printer.Print "^FO050,1000 ^A0,90,72 ^FN6^FS"
Printer.Print "^FO050,1100 ^GB800,0,5^FS"
Printer.Print "^FO050,1125 ^A0,30,24 ^FDTransportinstruction:^FS"
Printer.Print "^FO050,1175 ^A0,60,48 ^FN7^FS"
Printer.Print "^FO075,1250 ^BY4,2.1,120 ^B3N,,N,N ^FN16^FS"
Printer.Print "^FO050,1380 ^A0,30,24 ^FDAccount:^FS"
Printer.Print "^FO210,1380 ^A0,30,36 ^FN9^FS"
Printer.Print "^FO050,1415 ^A0,30,24 ^FDShipment-id:^FS"
Printer.Print "^FO210,1415 ^A0,30,36 ^FN8^FS"
Printer.Print "^FO600,1415 ^A0,30,24 ^FDWeight:^FS"
Printer.Print "^FO700,1415 ^A0,30,36 ^FN10^FS"
Printer.Print "^FO050,1450 ^GB800,0,5^FS"
Printer.Print "^FO050,1500 ^A0,30,24 ^FDContent:^FS"
Printer.Print "^FO210,1500 ^A0,30,36 ^FN11^FS"
Printer.Print "^FO050,1550 ^GB800,0,5^FS"
Printer.Print "^FO050,1600 ^A0,30,24 ^FDOrder:^FS"
Printer.Print "^FO210,1600 ^A0,30,36 ^FN12^FS"
Printer.Print "^FO050,1650 ^A0,30,24 ^FDReference:^FS"
Printer.Print "^FO210,1650 ^A0,30,36 ^FN13^FS"
Printer.Print "^FO050,1700 ^GB800,0,5^FS"
Printer.Print "^FO100,1725 ^BY4 ^BCN,200,N,N ^FN14^FS"
Printer.Print "^FO100,1950 ^A0,30,24 ^FDLicense Plate:^FS"
Printer.Print "^FO250,1950 ^A0,30,36 ^FN15^FS"
Printer.Print "^XZ"
Printer.Print "^XA"
Printer.Print "^XFETIKETT^FS"
Printer.Print "^FN1^FD2006-03-03^FS"
Printer.Print "^FN2^FDxxxxxx^FS"
Printer.Print "^FN3^FDxxxxx^FS"
Printer.Print "^FN4^FDxxx^FS"
Printer.Print "^FN5^FDxxx^FS"
Printer.Print "^FN6^FDCHINA^FS"
Printer.Print "^FN7^FDTNT FREIGHT MAN. BOAT^FS"
Printer.Print "^FN8^FD840 767 325 3^FS"
Printer.Print "^FN16^FD8407673253^FS"
Printer.Print "^FN9^FD11030^FS"
Printer.Print "^FN10^FD254^FS"
Printer.Print "^FN11^FDSteel sheet^FS"
Printer.Print "^FN12^FD158850^FS"
Printer.Print "^FN13^FDNisse Hult^FS"
Printer.Print "^FN14^FD>9>800373200481999955473^FS"
Printer.Print "^FN15^FD(00)37320048 199995547 3^FS"
Printer.Print "^XZ"
Printer.EndDoc
MsgBox "Document was sent to printer!", vbInformation
End If
End Sub
Sv: Objektet Printer
Sv:Objektet Printer
Har du i så fall loopat igenom printers och kollat att du gett anget rätt port?
For Each P in Printers
Debug.Print "Printer:", P.DeviceName, "Port: ", P.Port
Next
Exempel på portar jag får är "Ne05:".
Eller får du ett felmeddelande? I så fall vad är det?
Kör koden men ingen utskrift sker? Har du i så fall rättigheter att skriva ut på skrivaren? ÄR du inloggad på nätverket?
Testa att först komma åt en nätverksresurs: Så som \\PrinterServerNamn i utforskaren. Ibland får man upp en inloggningsrutan. Detta problemet har jag haft med nätverksskrivare.
Sv: Objektet Printer
Kan någon förklara hur <b>Enum</b> fungerar ex. från Johan Djupmark.
<code>
Public enum enumPort
LPT1 = &H378
LPT2 = &H278
LPT3 = &H3BC
End Enum
Public enum enumPin
Pin2
Pin3
Pin4
Pin5
Pin6
Pin7
Pin8
Pin9
Pin10
Pin11
Pin12
Pin13
Pin15
End Enum
</code>Sv:Objektet Printer
Sv: Objektet Printer