Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1300to1304
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Barcode erzeugen lassen (Code128)
06.03.2013 08:54:27
Richard
Hallo zusammen,
ich habe von einer anderen Seite einen VBA Code verwendet um mir in Excel eine Zahlenfolge in einen Barcode umrechnen zu lassen. Leider ergibt sich bei unseren Zahlenfolgen ein Fehler in der Berechnung.
Gebe ich die Zahl: 141004020022 ein, kann ich den Barcode nicht scannen.
Verwende ich statt dessen: 14100402022 (streiche also eine der hinteren Doppelnullen) ist ein Scannen des Barcodes möglich.
Benutze ich eine andere Variante (die es auch gibt): 141004G01022 kann der Barcode ebenso eingescannt werden. Die Stellenanzahl ist also nicht das Problem, sondern die zweite Doppelnull in der Zahlenfolge. Leider sind meine VBA- Kenntnisse dafür bei weitem nicht ausreichend um selber auf eine Lösung zu kommen und hoffe hier auf Hilfe... :)
Der Code sieht wie folgt aus...
Modul1

Public Function Code128_Str(ByVal Str As String) As String
Dim c As Klasse1
Set c = New Klasse1
Code128_Str = c.Code128_Str(Str)
End Function

Klasse1

' ***    Made By Michael Ciurescu (CVMichael)   ***
'Modified by Paulo Cunha (pcunha) to work with char128.ttf on word or excel on 16/05/2011
'the font at in http://grandzebu.net/index.php?page=/informatique/codbar-en/code128.htm
' References:
' h**p://www.barcodeman.com/info/c128.php3
Private Enum eCode128Type
eCode128_CodeSetA = 1
eCode128_CodeSetB = 2
eCode128_CodeSetC = 3
End Enum
Private Type tCode
ASet As String
BSet As String
CSet As String
BarSpacePattern As String
End Type
Private CodeArr() As tCode
Private Sub Class_Initialize()
ReDim CodeArr(106)
AddEntry 0, " ", " ", "00", Chr(32)
AddEntry 1, "!", "!", "01", Chr(33)
AddEntry 2, """", """", "02", Chr(34)
AddEntry 3, "#", "#", "03", Chr(35)
AddEntry 4, "$", "$", "04", Chr(36)
AddEntry 5, "%", "%", "05", Chr(37)
AddEntry 6, "&", "&", "06", Chr(38)
AddEntry 7, "'", "'", "07", Chr(39)
AddEntry 8, "(", "(", "08", Chr(40)
AddEntry 9, ")", ")", "09", Chr(41)
AddEntry 10, "*", "*", "10", Chr(42)
AddEntry 11, "+", "+", "11", Chr(43)
AddEntry 12, ",", ",", "12", Chr(44)
AddEntry 13, "-", "-", "13", Chr(45)
AddEntry 14, ".", ".", "14", Chr(46)
AddEntry 15, "/", "/", "15", Chr(47)
AddEntry 16, "0", "0", "16", Chr(48)
AddEntry 17, "1", "1", "17", Chr(49)
AddEntry 18, "2", "2", "18", Chr(50)
AddEntry 19, "3", "3", "19", Chr(51)
AddEntry 20, "4", "4", "20", Chr(52)
AddEntry 21, "5", "5", "21", Chr(53)
AddEntry 22, "6", "6", "22", Chr(54)
AddEntry 23, "7", "7", "23", Chr(55)
AddEntry 24, "8", "8", "24", Chr(56)
AddEntry 25, "9", "9", "25", Chr(57)
AddEntry 26, ":", ":", "26", Chr(58)
AddEntry 27, ";", ";", "27", Chr(59)
AddEntry 28, "", ">", "30", Chr(62)
AddEntry 31, "?", "?", "31", Chr(63)
AddEntry 32, "@", "@", "32", Chr(64)
AddEntry 33, "A", "A", "33", Chr(65)
AddEntry 34, "B", "B", "34", Chr(66)
AddEntry 35, "C", "C", "35", Chr(67)
AddEntry 36, "D", "D", "36", Chr(68)
AddEntry 37, "E", "E", "37", Chr(69)
AddEntry 38, "F", "F", "38", Chr(70)
AddEntry 39, "G", "G", "39", Chr(71)
AddEntry 40, "H", "H", "40", Chr(72)
AddEntry 41, "I", "I", "41", Chr(73)
AddEntry 42, "J", "J", "42", Chr(74)
AddEntry 43, "K", "K", "43", Chr(75)
AddEntry 44, "L", "L", "44", Chr(76)
AddEntry 45, "M", "M", "45", Chr(77)
AddEntry 46, "N", "N", "46", Chr(78)
AddEntry 47, "O", "O", "47", Chr(79)
AddEntry 48, "P", "P", "48", Chr(80)
AddEntry 49, "Q", "Q", "49", Chr(81)
AddEntry 50, "R", "R", "50", Chr(82)
AddEntry 51, "S", "S", "51", Chr(83)
AddEntry 52, "T", "T", "52", Chr(84)
AddEntry 53, "U", "U", "53", Chr(85)
AddEntry 54, "V", "V", "54", Chr(86)
AddEntry 55, "W", "W", "55", Chr(87)
AddEntry 56, "X", "X", "56", Chr(88)
AddEntry 57, "Y", "Y", "57", Chr(89)
AddEntry 58, "Z", "Z", "58", Chr(90)
AddEntry 59, "[", "[", "59", Chr(91)
AddEntry 60, "\", "\", "60", Chr(92)
AddEntry 61, "]", "]", "61", Chr(93)
AddEntry 62, "^", "^", "62", Chr(94)
AddEntry 63, "_", "_", "63", Chr(95)
AddEntry 64, Chr(0), "`", "64", Chr(96) ' Null
AddEntry 65, Chr(1), "a", "65", Chr(97) ' SOH
AddEntry 66, Chr(2), "b", "66", Chr(98) ' STX
AddEntry 67, Chr(3), "c", "67", Chr(99) ' ETX
AddEntry 68, Chr(4), "d", "68", Chr(100) ' EOT
AddEntry 69, Chr(5), "e", "69", Chr(101) ' ENQ
AddEntry 70, Chr(6), "f", "70", Chr(102) ' ACK
AddEntry 71, Chr(7), "g", "71", Chr(103) ' BEL
AddEntry 72, Chr(8), "h", "72", Chr(104) ' BS
AddEntry 73, Chr(9), "i", "73", Chr(105) ' HT
AddEntry 74, Chr(10), "j", "74", Chr(106) ' LF
AddEntry 75, Chr(11), "k", "75", Chr(107) ' VT
AddEntry 76, Chr(12), "l", "76", Chr(108) ' FF
AddEntry 77, Chr(13), "m", "77", Chr(109) ' CR
AddEntry 78, Chr(14), "n", "78", Chr(110) ' SO
AddEntry 79, Chr(15), "o", "79", Chr(111) ' SI
AddEntry 80, Chr(16), "p", "80", Chr(112) ' DLE
AddEntry 81, Chr(17), "q", "81", Chr(113) ' DC1
AddEntry 82, Chr(18), "r", "82", Chr(114) ' DC2
AddEntry 83, Chr(19), "s", "83", Chr(115) ' DC3
AddEntry 84, Chr(20), "t", "84", Chr(116) ' DC4
AddEntry 85, Chr(21), "u", "85", Chr(117) ' NAK
AddEntry 86, Chr(22), "v", "86", Chr(118) ' SYN
AddEntry 87, Chr(23), "w", "87", Chr(119) ' ETB
AddEntry 88, Chr(24), "x", "88", Chr(120) ' CAN
AddEntry 89, Chr(25), "y", "89", Chr(121) ' EM
AddEntry 90, Chr(26), "z", "90", Chr(122) ' SUB
AddEntry 91, Chr(27), "{", "91", Chr(123) ' ESC
AddEntry 92, Chr(28), "|", "92", Chr(124) ' FS
AddEntry 93, Chr(29), "}", "93", Chr(125) ' GS
AddEntry 94, Chr(30), "~", "94", Chr(126) ' RS
AddEntry 95, Chr(31), Chr(127), "95", Chr(200) ' US, DEL
AddEntry 96, "FNC 3", "FNC 3", "96", Chr(201)
AddEntry 97, "FNC 2", "FNC 2", "97", Chr(202)
AddEntry 98, "SHIFT", "SHIFT", "98", Chr(203)
AddEntry 99, "CODE C", "CODE C", "99", Chr(204)
AddEntry 100, "CODE B", "FNC 4", "CODE B", Chr(205)
AddEntry 101, "FNC 4", "CODE A", "CODE A", Chr(206)
AddEntry 102, "FNC 1", "FNC 1", "FNC 1", Chr(207)
AddEntry 103, "Start A", "Start A", "Start A", Chr(208)
AddEntry 104, "Start B", "Start B", "Start B", Chr(209)
AddEntry 105, "Start C", "Start C", "Start C", Chr(210)
AddEntry 106, "Stop", "Stop", "Stop", Chr(211)
End Sub
Private Sub AddEntry(ByVal Index As Integer, ASet As String, BSet As String, CSet As String,  _
BarSpacePattern As String)
With CodeArr(Index)
.ASet = ASet
.BSet = BSet
.CSet = CSet
.BarSpacePattern = Replace(BarSpacePattern, " ", "")
End With
End Sub
Public Function Code128_Str(ByVal Str As String)
Code128_Str = Replace(BuildStr(Str), " ", "")
End Function
Private Function BuildStr(ByVal Str As String) As String
Dim SCode As eCode128Type, PrevSCode As eCode128Type
Dim CurrChar As String, ArrIndex As Integer, CharIndex As Long
Dim CheckDigit As Integer, CCodeIndex As Integer, TotalSum As Long
SCode = eCode128_CodeSetB
If Str Like "##*" Then SCode = eCode128_CodeSetC
TotalSum = 0
CharIndex = 1
Select Case SCode
Case eCode128_CodeSetA
TotalSum = TotalSum + (103 * CharIndex)
BuildStr = Trim(BuildStr) & Chr(208)
Case eCode128_CodeSetB
TotalSum = TotalSum + (104 * CharIndex)
BuildStr = Trim(BuildStr) & Chr(209)
Case eCode128_CodeSetC
TotalSum = TotalSum + (105 * CharIndex)
BuildStr = Trim(BuildStr) & Chr(210)
End Select
PrevSCode = SCode
Do Until Len(Str) = 0
If Str Like "####*" Then SCode = eCode128_CodeSetC
If SCode = eCode128_CodeSetC And Mid(Str, 1, 2) Like "##" Then
CurrChar = Mid(Str, 1, 2)
Else
CurrChar = Mid(Str, 1, 1)
End If
ArrIndex = GetCharIndex(CurrChar, SCode, True)
If ArrIndex  -1 Then
If CodeArr(ArrIndex).BSet = CurrChar And ((SCode = eCode128_CodeSetC And CodeArr( _
ArrIndex).CSet  CurrChar) Or (SCode = eCode128_CodeSetA And CodeArr(ArrIndex).ASet   _
CurrChar)) Then
SCode = eCode128_CodeSetB
ElseIf CodeArr(ArrIndex).ASet = CurrChar And CodeArr(ArrIndex).BSet  CurrChar  _
Then
SCode = eCode128_CodeSetA
ElseIf CodeArr(ArrIndex).CSet = CurrChar Then
SCode = eCode128_CodeSetC
End If
If PrevSCode  SCode Then
Select Case SCode
Case eCode128_CodeSetA
CCodeIndex = GetCharIndex("CODE A", PrevSCode, False)
Case eCode128_CodeSetB
CCodeIndex = GetCharIndex("CODE B", PrevSCode, False)
Case eCode128_CodeSetC
CCodeIndex = GetCharIndex("CODE C", PrevSCode, False)
End Select
TotalSum = TotalSum + (CCodeIndex * CharIndex)
BuildStr = Trim(BuildStr) & CodeArr(CCodeIndex).BarSpacePattern
CharIndex = CharIndex + 1
PrevSCode = SCode
End If
BuildStr = Trim(BuildStr) & CodeArr(ArrIndex).BarSpacePattern
TotalSum = TotalSum + (ArrIndex * CharIndex)
CharIndex = CharIndex + 1
End If
If SCode = eCode128_CodeSetC Then
Str = Mid(Str, 3)
Else
Str = Mid(Str, 2)
End If
Loop
CheckDigit = TotalSum Mod 103
BuildStr = Trim(BuildStr) & CodeArr(CheckDigit).BarSpacePattern
BuildStr = Trim(BuildStr) & Chr(211)
End Function
Private Function GetCharIndex(ByVal Char As String, ByVal CodeType As eCode128Type, ByVal  _
Recurse As Boolean) As Integer
Dim K As Long
Select Case CodeType
Case eCode128_CodeSetA
For K = 0 To UBound(CodeArr)
If Char = CodeArr(K).ASet Then Exit For
Next K
Case eCode128_CodeSetB
For K = 0 To UBound(CodeArr)
If Char = CodeArr(K).BSet Then Exit For
Next K
Case eCode128_CodeSetC
For K = 0 To UBound(CodeArr)
If Char = CodeArr(K).CSet Then Exit For
Next K
End Select
If K = UBound(CodeArr) + 1 Then
If Not Recurse Then
GetCharIndex = -1
Else
Select Case CodeType
Case eCode128_CodeSetA
GetCharIndex = GetCharIndex(Char, eCode128_CodeSetC, False)
Case eCode128_CodeSetB
GetCharIndex = GetCharIndex(Char, eCode128_CodeSetA, False)
Case eCode128_CodeSetC
GetCharIndex = GetCharIndex(Char, eCode128_CodeSetB, False)
End Select
If GetCharIndex = -1 Then
Select Case CodeType
Case eCode128_CodeSetA
GetCharIndex = GetCharIndex(Char, eCode128_CodeSetB, False)
Case eCode128_CodeSetB
GetCharIndex = GetCharIndex(Char, eCode128_CodeSetC, False)
Case eCode128_CodeSetC
GetCharIndex = GetCharIndex(Char, eCode128_CodeSetA, False)
End Select
End If
End If
Else
GetCharIndex = K
End If
End Function
Public Function Code128_GetWidth(ByVal Str As String, Optional ByVal BarWidth As Integer = 1)   _
_
As Long
Dim K As Long, Width As Long
Str = Replace(Code128_Str(Str), " ", "")
Debug.Print Str
For K = 1 To Len(Str)
Width = Width + Val(Mid(Str, K, 1))
Next K
Code128_GetWidth = Width * BarWidth + (28 * BarWidth)
End Function
Private Sub Class_Terminate()
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Barcode erzeugen lassen (Code128)
06.03.2013 09:43:34
Klaus
Hallo Richard,
deinen Code habe ich mir gar nicht erst angesehen. Um einen 128-er Barcode zu erstellen, schreibe was-auch-immer in eine Zelle und formatiere die Zelle mit der Schriftart "Barcode 128". Fertig. Kein Vba, nix nötig.
"Code 128 font" in google eingeben, falls du die Schriftart nicht hast.
Bei der Gelegenheit, eigentlich jeder Scanner der "128"er lesen kann, liest auch "39"er. Der "39"er ist etwas einfacher. Wenn du nicht gerade um jeden milimeter Barcodefläche kämpfen musst oder eine Lieferantenvorschrift den 128er verlangt, nimm den 39er (Font per Google runterladbar).
Denk daran, dass Barcodes mit * enden und aufhören(1). Möchtest du den Text "herber123" in Barcode ausgeben, muss in der Zelle "*herber123*" stehen.
Grüße,
Klaus M.vdT.
(1): Zumindest war das meiner Erinnerung nach beim 39er so ... ist ein paar Tage her. Google und Wiki helfen bei den Details.

Anzeige
AW: Barcode erzeugen lassen (Code128)
06.03.2013 09:58:09
Richard
Hallo Klaus,
das ist eben mein Problem. Code 128 wird verlangt und ein einfaches ändern der Schriftart funktioniert nicht. In diesem Code steckt eine Anfangs- und eine Endsequenz die sich je nach verwendeten Zahlen/Buchstabenfolgen ändert, eine Berechnung erfordert und was die Verwendung eines Makros unumgänglich macht.
Ich habe erst mit einem Code von dieser Seite: http://grandzebu.net/informatique/codbar/code128.htm gearbeitet, aber leider funktioniert der in unserem Tochterunternehmen in China nicht (schätze das hängt mit der verwendeten Sprachversion von Windows und Office zusammen).
Gruß,
Richard

Anzeige
AW: Barcode erzeugen lassen (Code128)
06.03.2013 10:09:43
Klaus
Hallo,
ok, verstanden. Ich hab leider meinen Barcodescanner grad nicht zur Hand, darum kann ich nichts testen. Bis zum Wochenende hast du warscheinlich keine Zeit.
Dein hochgeladener Code ist bestimmt Teil einer Userform, oder? Ich nehme an, die wenigsten haben Lust deinen Code erst in einer eigenen Datei nachzubauen, und auch nicht alle sind fließend genug in Italienisch um dem Link zu folgen. Wenn du also eine Musterdatei hochlädst, in der bereits Barcodes erstellt werden können, dann ist deine Chance auf Hilfe gleich viel höher.
Ich nehme an, dass die 00 irgendwo einen falschen Zeichensatzwechsel hat.
leider funktioniert der in unserem Tochterunternehmen in China nicht
Ich weiss, in der Realität ist das nicht immer so einfach ... aber wenn der Barcode hier funkioniert, in China aber nicht, dann ist das ein Problem dass in China gelöst werden muss und nicht hier. Die Details der chinesichen Office-Installationen kennen hier nur ganz wenige Leute.
Grüße,
Klaus M.vdT.
(ja, ich besitze privat einen Barcodescanner und beruflich unter der Woche keinen. Ich bin halt ein Nerd)

Anzeige
AW: Barcode erzeugen lassen (Code128)
06.03.2013 10:18:47
Richard
Ok. Hier ist die Datei: https://www.herber.de/bbs/user/84215.xlsm
Eigentlich hast Du Recht wenn Du sagst das es deren Problem ist, aber leider sitzt da niemand der mit Makros überhaupt irgendwas anfangen kann. :(
Meine Hoffnung liegt nun darin, das dieser Code sowohl hier, als auch dort gleich funktioniert und nicht wie der den ich in meiner letzten Antwort erwähnt habe.
Zeit ist normalerweise Geld, aber das wollen wir uns sparen - sonst hätte ich mich schon um eine kommerzielle Variante bemüht. Von daher habe ich auch Zeit... :)
Gruß,
Richy

Anzeige
AW: Barcode erzeugen lassen (Code128)
06.03.2013 10:34:00
Klaus
Hi,
Stell mal die Schriftart in A:A um auf Arial.
A1: Ņ.*$!6qÓ
A2: Ņ.*$!"Ķ2cÓ
Wenn du jetzt in B1 die Zahlen Buchstabe für Buchstabe eingibst, siehst du schön wie der Code sich ändert.
Ich meine, du brauchst aufgrund der Verschlüsselung des 128er von je zwei Zahlen zu einem Codebalkenteil eine gerade Anzahl von Zahlen. Wenn du etwas herumspielst siehst du, dass "Ķ" immer auftaucht wenn die Anzahl Ziffern ungerade ist.
Ich bin jetzt kein 128er Experte (für meine Zwecke hat immer der 39er als Font gereicht) aber vielleicht ist das schon der Ansatz den du brauchst.
Um eine ungerade Anzahl Ziffern zu vermeiden, kannst du vielleicht einfach eine führende 0 voranstellen? Eventuell braucht es dafür ein ' damit Excel die nicht automatisch entfernt.
Wie man den 128er zwingt, zwischen seinen A-B-C Zeichensätzen hin und her zu schalten und so eine ungerade Anzahl von Ziffern zu erlauben kann ich dir leider nicht sagen, find ich auch grad auf die schnelle nicht bei Wiki oder Google.
Prüf mal bitte nach (bzw lass die Chinesen prüfen) ob es wirklich an der 00 liegt oder doch an der Anzahl von Ziffern.
Grüße,
Klaus M.vdT.

Anzeige
AW: Barcode erzeugen lassen (Code128)
06.03.2013 10:48:58
Richard
Die Anzahl der Ziffern ist es leider nicht. Habe das auch schon gedacht, aber den Artikel gibt es in einer Abwandlung auch unter folgender Nummer: 141004G01022
Hier wird der Code richtig generiert und der Barcode lässt sich, wie bei der ungeraden Ganzzahl wo ich die zweite null gelöscht habe, scannen. Es liegt definitiv an der 00.
Gruß,
Richy

AW: Barcode erzeugen lassen (Code128)
06.03.2013 11:36:28
Klaus
141004 ist Ņ.*$PÓ
genau genommen: .*$ ist 141004, der Rest sind Steuerzeichen des Barcodes.
141004G ist Ņ.*$ĶG
ich behaupte jetzt, dass Ķ auf einen anderen Modus umschaltet, weil mit G ein Buchstabe folgt.
Test.
ich wandle 141004G141004 um Ich weiss, 141004 ist .*$ und G ist ĶG.
Meine Erwartungshaltung an den Code ist demnach im Detail:
Ņ = Steuerzeichen
.*$ = 141004
ĶG = G
.*$ = 141004
PÓ = Steuerzeichen
Ņ .*$ ĶG .*$ PÓ
es kommt aber heraus:
Ņ.*$ĶGĢ.*$)Ó
Jetzt denke ich mir, das Ķ auf Buchstabenmodus umschaltet und Ģ zurück auf den Zahlenmodus.
Wenn ich deinen 13 stelligen Code sehe, kommt darin Ķ vor. in deinem 12 ziffrigem Code nicht. Überhaupt, wenn ich vor oder nach einem Ķ eine ungerade Ziffernfolge zeige, kommt im Code wieder Ķ vor.
Ich behaupte weiterhin, dass ungerade Ziffernfolgen nicht funktionieren sondern irgendwie als Text interpretiert werden und du dich nicht an der 00 aufhängen solltest. Ist denn der Code 12345G123456 (ungerade Ziffernanzahl, Buchstabe, Gerade Ziffernanzahl) Scanbar? ich denke nämlich er ist es nicht.
Aber ich muss hier jezt aussteigen, weil ich nur noch im Vermuten und Raten Modus bin. Was du brauchst ist ein Experte, der dir sagen und erklären kann ... das bin ich leider nicht.
Ich hoffe, das ich zumindest in die Richtung stoßen konnte in die es geht :-)
Grüße,
Klaus M.vdT.
(was kostet denn eine "professionelle" Lösung?)

Anzeige
AW: Barcode erzeugen lassen (Code128)
06.03.2013 12:08:38
Richard
Doch, die 12345G123456 ist scannbar.
Habe jetzt aber noch rausgefunden, dass das Problem mit der Doppelnull nur auftritt, wenn meine Zeichenfolge 12- stellig ist (so wie sie sein müssen). Trage ich einfach irgendwo noch eine Zahl ein, mache also eine 13- stellige Zahlenfolge daraus (00 belasse ich aber so), dann ist der Barcode wieder scannbar.
Ist also die Verbindung 12- stellig mit Doppelnull im hinteren Bereich...
Die professionelle Lösung würde uns rund 600$ Kosten.
Gruß,
Richy

AW: Barcode erzeugen lassen (Code128)
06.03.2013 12:18:03
Klaus
Hi,
ich hab was gefunden, das meine Vermutung bestätigt:
Die Zeichenfolge muß in Charset C eine geradzahlige Länge haben, d.h. es wird entweder vorne- oder hintendran eine 0 angehängt (je nach Anwendungsfall).
Zitiert aus: http://www.hi-tier.de/Entwicklung/technik/barcode_Code128.html
Der 128 stellt selbstständig das korrekte Charset ein, um Länge zu sparen. Dein Makro scheint nicht korrekt von Charset C zurück auf Charset B zu wechseln, wenn ungeradzahlig Lange Ziffern vorkommen.
Wenn du jetzt herausfindest, wie du das Charset auf B umstellst, hast du 600$ gespart :-) Ich steig leider in dem Detail nicht durch das Makro durch.
Oder häng halt vorne ne Null dran!
Grüße,
Klaus M.vdT.

Anzeige
AW: Barcode erzeugen lassen (Code128)
07.03.2013 10:42:13
UweD
Hallo Ihr 2
Habe mir den Code bisher auch noch nicht angesehen. Mach ich evtl. noch.
- - -
Vorab diese Info:
das Umschalten auf "128C" erfolgt mit Ä
das Umschalten auf "128B" erfolgt mit Ö
das Umschalten auf "128A" erfolgt mit Ü
das wird nur innerhalb der Zeichenfolge verwendet
Ganz am Anfang steht À (Strich ol nach ur) für 128A
oder Á (Strich or nach ul) für 128B
oder  (Dach) für 128C
Die Barcode-Programme versuchen die Codes so kurz wie möglich zu gestalten, daher wir z.b wenn mind 4 Ziffern aufeinanderfolgen auf 128C umgeschaltet und dann je 2 Ziffernpaare in eine Zeichen umgerechnet.
Folgt wieder ein Alphazeichen, wird wieder zurückgeschaltet. Das alles noch in Verbindung mit Checksumme....
Gruß UweD
Anzeige

109 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige