posted by jwerner on Tuesday, March 29, 2022 3:07 PM

A quick snippet to insert a dynamic QRCode via a reference field

The macro inserts an INCLUDEPICTURE field.

The inserted URL points to a webserver script. It actually returns a GiroCode QRCode, which contains instructions for a bank payment (IBAN, BIC, reference, amount).

Example URL: Diggin Data Girocode API

Sub InsertGiroCode()
    Dim sInvoiceNbr As String
    Dim dblAmount As Double
    Dim vresult As Variant

    Dim sRecipient As String, sIBAN As String, sBIC As String

    'Setze Vorgabewerte
    'Name des Zahlungsempfängers:
    sRecipient = "Diggin%27%20Data"

    'IBAN des Empfängers:
    sIBAN = "DE1212341234123412"

    'BIC des Empfängers:
    sBIC = "DRESDEFF510"

    sInvoiceNbr = "Rechnung Nr.2022/001"

    'Lese Rechnungsnummer
    vresult = InputBox("Bitte geben Sie den Verwendungszweck ein:", "girocode einfügen 1/2", sInvoiceNbr)
    If vresult = "" Then Exit Sub
    sInvoiceNbr = vresult

    'Lese Betrag
    vresult = InputBox("Bitte geben Sie den Betrag ein:", "girocode einfügen 2/2", "123,50")
    If vresult = "" Then Exit Sub
    'Als Double konvertieren
    dblAmount = CDbl(vresult)

    'Feld einfügen
    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
        "INCLUDEPICTURE  """ & _
        "frame=1&recipient=" & sRecipient & _
        "&bic=" & sBIC & _
        "&iban=" & sIBAN & _
        "&amount=" & Replace(Format(dblAmount, "0.00"), ",", ".") & _
        "&note=" & Replace(sInvoiceNbr, " ", "%20") & """", _
End Sub


No comments

Please enter the letters as they are shown in the image above.
Letters are not case-sensitive.

Add comment

Change Log

Created OnMar 29, 2022 3:07:16 PM CEST
Created ByJoachim Werner (jwerner)
Updated OnMar 29, 2022 3:12:20 PM CEST
Updated ByJoachim Werner (jwerner)