voorbeeldbestand
QR code genereren


1. Inleiding

In een Duits forum stelde iemand de vraag hoe je met VBA QR-codes kon maken.
De eerste antwoorden maakten gebruik van online QR-code generatoren.
VBA zorgde alleen voor het versturen van gegevens, het ophalen van resultaten en het weergeven in een Office-applicatie.
Flotter Feger had een echte VBA toepassing boven tafel gekregen.
Die bestond maar liefst uit 6 verschillende Barcodes/QR-codes.
De code is ontworpen – voor zover ik weet - door alois zingl in 2016.

De code leek erop gericht om altijd alle situaties aan te kunnen: universalisme.
Dat lijkt mij niet praktisch.
De meeste mensen willen juist slechts 1 soort grafische informatiedrager (QR-code of Barcode).
Bovendien maakt de code gebruik van figuren in Excel.
Die blazen het bestand bij grote QR-codes aanzienlijk op en vertragen de werking zienderogen.

Ik heb 1 van de codes vereenvoudigd en ondergebracht in een Excelbestand.
De QR code wordt geproduceerd met voorwaardelijke opmaak.

Ik ga geen poging doen de code uit te leggen; die is daarvoor veel te mathematisch.
In de code staan wel toelichtingen van de oorspronkelijke auteur.

2. Toelichting bij het voorbeeldbestand

Het Excel werkboek bevat 1 werkblad 'QR-code' (codename: 'Sheet')
Voer de tekst voor de QR-code in in cel A1.
Enter of Tab activeert de generatorcode (de gebeurteniscode Worksheet_Change()).

Een QR-code bevat maximaal 177 * 177 beeldpunten.
Daarom heeft het gebied B3:FP180 een voorwaardelijke opmaak:
- celwaarde 0: achtergrondkleur wit
- celwaarde 1: achtergrondkleur zwart

De code past de hoogte en de breedte aan van de rijen, resp. kolommen voor de QR-code.
De code gaat uit van 100% zoom van het werkblad.

De QR-code komt als grafisch item in het klembord terecht, zodat die in allerlei andere applicaties ingevoerd kan worden. (Ctrl-V)

De QR-code wordt als PNG bestand opgeslagen in de directory van het geopende Excelbestand.
De bestandsnaam bestaat uit de tekst van de QR-code na verwijdering van niet-geoorloofde tekens voor bestandsnamen.

QR-code kent 5 varianten.
In dit bestand is de keuze gemaakt voor de binaire variant, omdat die de minste beperkingen oplegt aan de om te zetten tekenreeks.

De code maakt gebruik van voorwaardelijke opmaak in Excel.
Daarmee is de code veel sneller en leniger dan wanneer van grafische elementen gebruik gemaakt zou worden.

Ook als je voor andere Office-applicaties QR codes nodig hebt kun je ze het beste via Excel laten genereren.

3. QR-codes via een Userform

Een bestand waarin je de QR code met en in een Userform kunt maken tref je hier:

QR-codes in Userform

4. QR-codes via een Userform in Word

Een bestand waarin je de QR code met en in een Userform in Word kunt maken.
Dit Wordbestand bevat een Userform vergelijkbaar met het Userform in het Excelbestand uit de vorige paragraaf.
De gegenereerde QR-code wordt in het Userform getoond.
Zo gauw je het Userform sluit blijkt de QR-code ook in het Wordbestand als afbeelding aanwezig.

QR-codes in Word Userform

5. QR-codes via een Userform in Powerpoint

Een bestand waarin je de QR code met en in een Userform in Powerpoint kunt maken.
Dit Powerpointbestand bevat een Userform vergelijkbaar met het Userform in het Excelbestand.
De gegenereerde QR-code wordt in het Userform getoond.
Zo gauw je het Userform sluit blijkt de QR-code ook in de slide als afbeelding aanwezig.
Je kunt het Userform starten via de Macro M_snb of via de VBEditor.

QR-codes in Powerpoint