|  
                                             Ich habe folgendes Problem unter Word 2013 bzw. Word 2019 (unabhängig von Betriebssystem): 
Ich berechne Mittels VBA den Barcode in Form von Code 128 mit der folgenden Funktion: 
Public Function GenerateCode128B(SourceStruing As String)
 Dim checkDigitValue As Integer
 Dim barcodeString As String
 Dim startSign As String
 Dim endSign As String
 Dim index As Integer
 Dim c As Integer
 
 checkDigitValue = 104
 startSign = Chr(204)
 endSign = Chr(206)
 index = 1
 
 barcodeString = startSign
 
 For c = 1 To Len(SourceString) Step 1
  Dim currentSign As String
  currentSign = Asc(Mid(SourceString, c, 1))
  
  If Asc(currentSign) < 32 Or Asc(currentSign) > 126 Then
   GenerateCode128B = Empty
  Else
   barcodeString = barcodeString & Mid(SourceString, c, 1)
   checkDigitValue = checkDigitValue + (Asc(currentSign) - 32) * index
   index = index + 1
  End If
 Next
 checkDigitValue = checkDigitValue Mod 103
 If checkDigitValue > 94 Then
  checkDigitValue = checkDigitValue + 100
 Else
  checkDigitValue = checkDigitValue + 32
 End If
 barcodeString = barcodeString & Chr(checkDigitValue) & endSign
 GenerateCode128B = barcodeString
End Function 
Eigentlich eine Standardfunktion, die man so auch im Netz wiederfindet. Funktioniert auch. Bspw. für "ABC12DEF456G" berechnet sich richtigerweise "ÌABC12DEF456FNÎ". Diesen berechneten String füge ich nun wie folgt ins Word-Dokument ein: 
Selection.Font = "Code 128"
Selection.TypeTest GenerateCode128B("ABC12DEF456G")
Verwendet wird/ werden soll die Schriftart code128.ttf (siehe z. B. hier: https://www.dafont.com/de/code-128.font). 
Nun zu meinem Probelm: 
Wird die Scheriftart nicht verwendet, landet im Dokument der übersetzte Barcode, aber eben noch ohne Strichode, also korrekt "ÌABC12DEF456FNÎ". Unter Verwendung der installierten Schriftart ist das Ergebnis aber falsch und sieht leider so aus: "???G???G12???456????G?". 
Der Barcode ist also viel zu lang und irgendwie scheinen jetzt die Buchstaben aus dem Griechischen zu kommen. 
Hat irgendwer eine Idee, woran das liegen kann? Es sollte doch möglich sein, bei dem Barcode einfach nur die Schriftart zu ersetzen, damit das funktioniert, oder? Besteht der Barcode übrigens nur aus Zahlen, funktioniert es. 
     |