It requires installation of the qrencode package, which is available for MacOS, Linux, and Windows. Line 2 of the program specifies its location in the file system. The qrencode command typically creates PNG images for the QR code, but the -t ASCII option asks it to generate plain text. A Line Input statement reads this text and sets 0 or 1 values in A2:BL65. The QR code is made visible with conditional formatting, and my QR code scanner can read it to display this page.
I am calling this program a "Proof of Concept". I just wanted to see if the idea works. The program doesn't have the kind of validation and error checking that it should. It works for me, and I hope for others, but there are probably ways to improve the idea to make it easier to use, perhaps as an extension. The code below is contained in the attachment, but is repeated here so it can be viewed without downloading the file. Please post improvements, questions, or comments about the concept in a separate topic to avoid cluttering this one with side-discussions. I can merge or link any significant changes here later.
Sub QR1 ' Create QR code in A2:BL65 from text in cell QR1
Const QRencode = "/usr/local/bin/qrencode" ' https://fukuchi.org/works/qrencode/
Const QOptions = "-s 1 -m 0 -t ASCII -o " ' -s «dots» -m «margin» -t «outtype» -o «outfile»
Const Numbers = 1 ' com.sun.star.sheet.CellFlags.VALUE
Dim Col As Integer : Dim File As Integer : Dim Line As String
Dim Parm As String : Dim Pixel As String : Dim Row As Integer
Dim Sheet As Object : Dim Temp As String : Dim Text As String
Temp = ENVIRON("TMPDIR") & FORMAT(RND()*1E15,"000000000000000") & ".txt"
File = FREEFILE() : Pixel = SPACE(2)
For Each Sheet In ThisComponent.Sheets
Text = Sheet.getCellByPosition(459,0).String ' Cell QR1
If LEN(Text) > 0 Then
Parm = QOptions & Temp & " " & Text ' Options and text to encode
SHELL(QRencode,6,Parm,TRUE) ' Run program in minimized window and wait
Sheet.getCellRangeByPosition(0,1,64,65).clearContents(Numbers) ' Clear A2:BL65
Open Temp For Input As #File : Row = 0
While Not EOF(File)
Line Input #File, Line : Row = Row + 1 ' Read row of QR code
For Col = 0 To LEN(Line)/2-1 ' 1-row 2-column pixels
LSet Pixel = Line : Mid Line,1,2,"" ' Split first 2 bytes
Sheet.getCellByPosition(Col,Row).Value = ABS(Pixel="##") ' Set cell to 0 or 1
Next Col
Wend ' While more lines
Close #File
End If
Next ' Sheet
If FILEEXISTS(Temp) Then Kill Temp
End Sub