Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Steuern von Drittprogrammen BarCode erzeugen
#1
Hallo und guten Morgen,

ich würde gern einen kleinen Arbeitsschritt über Excel VBA automatisieren.


Es handelt sich um das freeware Tool 'ByteScout BarCode Generator 4.31.0.773'
   
   
   
Laut RPP63 (Ralf) wird ActiveX unterstützt, was mir persönlich nur leider gar nichts sagt.

Es soll ein Zahlenwert aus einem Tabellenblatt genommen werden.

Der Barcode 'QR Code' soll aktiviert und benutzt werden.
Aus dem eingefügten Zahlenwert soll ein BarCode Generiert werden.
Eventuell müssen noch Schriftart und Größe angepasst werden.
Ich vermute jedoch das die derzeitigen Einstellungen des Tools genutzt werden.
(Werte sind gesetzt und werden bei jedem Neustart des Tools geladen)
Nun muss der generierte Barcode mit einem weiteren Wert aus aus dem Tabellenblatt als *.png in einem Ordnerpfad welcher ebenfalls im Tabellenblatt enthalten ist abgespeichert werden.

Erste versuche habe ich gerade in der Tastenkürzel "SendKeys-Methode" vorgenommen.
Scheitere jedoch schon früh.
Beim Sprung mit der TAB Taste nach dem Start des Tools kann mit den Coursertasten die BarCode Art gewählt werden.
Nach einem weiteren betätigen der TAB Taste springt der Courser in das Textfeld wo der Zahlwert des Tabellenblattes eingefügt werden kann.
Jedoch komme ich hier schon nicht weiter.
Das Textfeld verhält sich wie eine Word Seite.
Enter führt zur Absatzbildung. Nicht zum Generieren des Codes.
Und auch mit der TAB Taste kann ich das Schriftfeld nicht wieder verlassen.
Auch hier muss ich gestehen das ich zum puren steuern rein über die Tastatur über wenig Erfahrung verfüge.

Für jede Idee mit der man der Lösung näher kommt danke ich euch schon einmal im voraus.

Gruß Frank
Antworten Top
#2
Moin!  :19:
Du musst Dir zunächst das SDK herunterladen (Link auf der GUI des Barcode-Generators).
Da mir noch unbekannt, bevorzuge ich hier Early Binding (Verweis auf ByteScout BarCode SDK).
Dann geht sowas:

Sub RPP()
Dim QR As New Barcode
With QR
   .RegistrationKey = "demo"
   .Value = "99999"
   .GetImage
End With
End Sub

Ist aber erst mal tatsächlich brainstorming, ich kann mich erst heute Abend damit beschäftigen.
Erscheint mir aber durchaus interessant, schließlich kann ich mir Fantastilliarden Anwendungsmöglichkeiten vorstellen.

Bis dahin,

Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Die Tastenreihenfolge für die "SendKeys-Methode" hab ich vollständig.
Wenn Programm gestartet und im Fokus:

01. (9x) Shift & TAB   = Rückwerts komme ich am Textfeld vorbei
10. q                        = der passende BarCode wird gewählt
11. Shift & TAB          = springt zum Eingabefeld für den zu generierenden BC
12. Paste ("B2")         = Zelle B2 enthält den Wert die generiert werden soll
13. STRG & Tab         = Generiert den BarCode
14. Alt & f                = öffnet das File Menü
15. s                        = wählt save BarCode to file
16. Paste ("B8")        = Name & Pfad für BarCode
17. Enter                  = Barcode wird als *.png abgespeichert
18. Alt & 'F4'             = BarCode Tool wird geschlossen

Soweit so gut
Was fange ich nun damit an.
Weiter geht die Recherche.
Antworten Top
#4
Hi Frank!
Ich habe zwar keine Zeit, aber dennoch soviel zwischendurch:
Vergiss Deine SendKeys-Methode!
Die ist unzuverlässig und extrem langsam.
Wenn die schon ein SDK zur Verfügung stellen, sollte man es auch nutzen.
Erstelle mal einen QR in Deiner gewünschten Größe/Schriftart/Farbe und schaue Dir die Befehle unter VB.Net an.
Diesen Code stellst Du mal hier ins Forum und dann schaue ich nachher weiter.

Hast Du das SDK bereits heruntergeladen (installiert sich selbständig)?

NB:
Ich habe noch nicht recherchiert, inwieweit dieses SDK in der Freeware-Version kommerziell genutzt werden darf.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Cool 

Fantastilliarden also?
Ist das mehr als nur für meine Anwendung? Huh Angel

Also SDK Download ist erstmal angestoßen.
Meine Firma braucht dringend ein Upgrade.

Bitte warten Sie
Bitte warten Sie
Bitte warten Sie


Bitte warten Sie
Antworten Top
#6
Ups,
über die Lizenzbedingungen hätte ich mich vielleicht mal als erstes kümmern sollen bevor ich den Download hier in der Firma gestartet habe. :s

Bin wohl noch zu sehr mit meinen Gedanken im privaten,
was das ganze aber auch nicht besser macht.
Bei der Installation steht auf alle Fälle erst mal was von 30 Tage Testversion

Was soll ich auf http://vb.net/ ?
Das ist ja noch schlimmer wie Englisch, das Käs... ähm Holländisch.
Bei mir scheitert es an dem einen wie an dem anderen. :s

Die Grundeinstellung kann fürs erste belassen werden.
Nur die Schriftgröße hatte ich für meine letzten Anwendungen auf 14 FETT gestellt.

Gruß
   
Antworten Top
#7
Ups,

da stand ich wohl mal wieder völlig auf der Leitung.
Jetzt dämmert es mir.

Da ich so gar nicht weiß welche der Daten du brauchst habe ich den entsprechenden Ordner gepackt.
Ich bekomme weder die rar noch die Zip Datei von ca. 8 MB hochgeladen.
Mit enthalten ist unter Dutzenden diese Excel Datei.
Der enthaltene Code sieht allerdings bei weitem nicht so kurz wie deiner aus.

.xls   BytescoutBarCodeSDKDemo.xls (Größe: 115,5 KB / Downloads: 2)

Bei den restlichen Dateien müsste ich Morgen nochmal schauen.
Woran erkenne ich die benötigte sdk Datei?
Antworten Top
#8
Also ich bin am verzweifeln

Was gibt es denn für Regeln für Anhänge hier im Forum.

Habe nun meine .rar so wie .zip Dateien bereits von 8 MB auf unter 2 MB reduziert.
Jedoch lässt sich das Attachment nicht hinzufügen.

Der Upload zählt hoch auf 100% und nach weiteren Minuten mit warten aufs Forum schmiert die Seite ab.
Antworten Top
#9
Moin!
So, hatte jetzt etwas Zeit.
Verweis auf ByteScout BarCodeSDK wurde gesetzt.
Mit folgendem Code wird ein QR-Code aus Zelle A5 (Inhalt: RPP63) erzeugt und im selben Verzeichnis wie folgende Arbeitsmappe gespeichert.

   

Microsoft Excel Objekt Tabelle1
Option Explicit 

Private Sub CommandButton1_Click()
Dim myBarcode As New Bytescout_BarCode.Barcode
With myBarcode
  .RegistrationName = "demo"
  .RegistrationKey = "demo"
  .Symbology = SymbologyType_QRCode
  .ResolutionX = 300
  .ResolutionY = 300
  .DrawCaption = True  'False für QR ohne Text
  .DrawCaptionFor2DBarcodes = True 'QR = 2D
  .Value = Tabelle1.Cells(5, 1) ' aus Tabelle1!A5
  .SaveImage ThisWorkbook.Path & "\MeinQR_Code.png"
End With
Set myBarcode = Nothing
End Sub

Gruß Ralf


Angehängte Dateien
.xlsm   QRCode.xlsm (Größe: 18,4 KB / Downloads: 1)
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#10
oder


Code:
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

Sub M_snb()
    c00= "http://www.clever-excel-forum.de/Thread-Steuern-von-Drittprogrammen-BarCode-erzeugen"
    c01 = "G:\OF\RPP.png"                     '       file containing the QR-code
    c02 = "160x160"                           '       size  H x b
    URLDownloadToFile 0, "http://chart.apis.google.com/chart?cht=qr&chs=" & c02 & "&chl=" & c00, c01, 0, 0
End Sub

oder ohne API

Code:
Sub M_snb()
  c00 = "http://www.clever-excel-forum.de/Thread-Steuern-von-Drittprogrammen-BarCode-erzeugen"
  c01 = "G:\OF\snb_009.png"                                   '       file containing the QR-code
  c02 = "160x160"                                                                             '       size  H x b

  With CreateObject("Microsoft.XMLHTTP")
    .Open "get", "http://chart.apis.google.com/chart?cht=qr&chs=" & c02 & "&chl=" & c00
    .send
    
    Open c01 For Binary As #1
      Put #1, , .responseBody
    Close
  End With
End Sub
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste