Clever-Excel-Forum

Normale Version: Steuern von Drittprogrammen BarCode erzeugen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
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'
[attachment=4939]
[attachment=4940]
[attachment=4941]
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
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
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.
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
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
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ß
[attachment=4946]
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.
[attachment=4948]

Bei den restlichen Dateien müsste ich Morgen nochmal schauen.
Woran erkenne ich die benötigte sdk Datei?
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.
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.

[attachment=4952]

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
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
Seiten: 1 2