Hi,
ich würde gerne innerhalb eines Exceldokuments einen QR-Code erzeugen.
Der Inhalt des QR-Codes soll aus einer Zelle ausgelesen werden. Wird der
Inhalt der Zelle geändert, soll sich der QR-Code auch ändern.
Was ich hierzu im Internet finde, sind entweder schweineteure Lösungen,
oder funktionieren nur bei Word (Feld "{ DISPLAYBARCODE }").
Prinzipiell könnte ich die Tabelle natürlich zu Word rüberkopieren, aber
wie bekomme ich dann vernünftig den Text aus dieser einen Zelle (die ich
auch gerne verstecken würde), dann in das Feld hinein?
Zur Information:
Es geht hierbei um die Verwaltung von div. Service-W-LAN
unterschiedlicher Geräte. Die SWPA-Passwörter sollen dazu natürlich
regelmässig gewchselt werden, und dann ist es einfach einfacher,
regelmässig ein neues Blatt mit den jeweils passenden QR-Codes
rauszugeben.
VG
da_user
Eventuell käme ja folgender Ansatz in Frage:
Die Erzeugung der eigentlichen QR-Codes übernimmt ein Internet-Dienst,
dem die zu kodierenden Daten als HTTP GET-URL-Parameter übergeben
werden, und der eine entsprechende QR-Code-Grafik zurückliefert.
Wenn Du auf einen Button drückst, konvertiert ein kleines VBA-Script die
zu kodierenden Daten in eine entsprechende URL, ruft das zu dieser URL
gehörende Image ab, uns fügt es an der entsprechenden Stelle im
Excel-Dokument ein.
Joachim S. schrieb:> Eventuell käme ja folgender Ansatz in Frage:>> Die Erzeugung der eigentlichen QR-Codes übernimmt ein Internet-Dienst,> dem die zu kodierenden Daten als HTTP GET-URL-Parameter übergeben> werden, und der eine entsprechende QR-Code-Grafik zurückliefert.>> Wenn Du auf einen Button drückst, konvertiert ein kleines VBA-Script die> zu kodierenden Daten in eine entsprechende URL, ruft das zu dieser URL> gehörende Image ab, uns fügt es an der entsprechenden Stelle im> Excel-Dokument ein.
Und wo ist da die Blockchain?
Joachim S. schrieb:> übernimmt ein Internet-Dienst
Mein weiß nie wie zuverlässig dieser fremde Server verfügbar sein wird!
Besser wäre eigener Link wo ein weiterer Hinweis zu finden ist.
Hallo,
danke für die vielen nützlichen Hinweise.
Das tschechische von Stackoverflow sieht auf den ersten Blick ganz
vielversprechend aus, das werde ich mal antesten!
VG
da_user
Matthias S. schrieb:> Was ich hierzu im Internet finde, sind entweder schweineteure Lösungen,> oder funktionieren nur bei Word (Feld "{ DISPLAYBARCODE }").
Dann passe sie einfach so an, dass sie in Excel entsprechend deiner
Intention funktionieren.
Das ist doch lächerlich einfach, wenn man grundsätzlich programmieren
kann.
Und wenn nicht: Tja, dann muß man halt einfach die Programmierer der
"schweineteuren Lösungen" entlohnen, die das können.
Ich muß auch den Arzt bezahlen, der mir einen Bypass einsetzt. Das kann
ich halt nicht selber. Klar: auch die Leistung diese Arztes kommt mir
"schweineteuer" vor. Aber kann ich das wirklich einschätzen? Nö, kann
ich nicht, weil ich halt keine Ahnung davon habe, was da alles an Kosten
dranhängt.
Aber wenn ich leben will, bezahle ich den Mann. So einfach ist das.
Hallo Matthias S.,
Matthias S. schrieb:> Hi,>> ich würde gerne innerhalb eines Exceldokuments einen QR-Code erzeugen.> Der Inhalt des QR-Codes soll aus einer Zelle ausgelesen werden. Wird der> Inhalt der Zelle geändert, soll sich der QR-Code auch ändern.
Anbei ein Lösungsansatz als Prototyp.
Dein QR-Feld hat etwa 25x25 Bit Informationen.
Die 625 Bit entsprechen etwa <80 Byte an Information, die aber in keinen
Excel-Zahltyp mehr hereinpassen.
Der QR-Code muss also ein String sein, der in einer Zelle steht.
Wenn VBA verboten ist, schaltest Du die Farbe eines Punkts mit bedingter
Formatierung an und aus.
Jede Zelle entspricht einem QR-Punkt.
Dieser Punkt muss nun lediglich die ihm zugedachte Bit-Information
auslesen, damit die bedingte Formatierung die Zelle korrekt einfärben
kann.
Die Sichtbarkeit der Zahlen in den Feldern ist nur für Debuggingzwecke,
die kann man auch wegformatieren!
Die gelben Felder sind Eingabefelder, die machen aus den Bits ganze
Byte-Werte.
Die grünen Felder sind Ergebnisfelder.
Die Ergebnisbytes werden zu einem String kombiniert.
Die einzelnen QR-Leuchten müssen einfach nur noch den String decodieren.
An der folgenden Stelle gebe ich c-hater Recht:
c-hater schrieb:> Das ist doch lächerlich einfach, wenn man grundsätzlich programmieren> kann.
Allerdings hätte er das ja auch mal schnell herunterschreiben können. :)
Ich habe an dieser Kopfnuss 1,5h gesessen.
Die Aufgabe ist analytisch gesehen simpel, aber der Excel-Formel-Editor
ist nicht wirklich lesbar und es fehlen dem Excel Bitoperationen auf
Tabellenebene.
Einen Haken gibt es noch:
Excel akzeptiert keine Wandlung eines Nullbytes in einen String.
Die Werte von 1-255 klappen.
Um das zu umgehen, könnte man die String basierend auf Bytes
zusammenbauen, bei denen das unterste Bit immer gesetzt ist, um die Null
zu vermeiden.
Man würde dann den QR-Code mit 7 Bits pro Byte codieren.
Gruß
Peter
Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
Groß- und Kleinschreibung verwenden
Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang