用单元格画二维码

wils
wils Lv.2 潜力创作者

Lv.2潜力创作者

论坛上有朋友问,如何把单元格当作像素,画出二维码

正好前几天发了个类似的帖子

https://bbs.wps.cn/topic/85634

修改一下就可以获取每个像素是否应该涂黑

于是做了个例子

https://pan.baidu.com/s/1OMy-fr050-ZzL_RzHPTJWA?pwd=2a3b

function tt()
{
    const q = qr(0, "L")
    q.addData(Range("A1").Text)
    q.make()
    const n = q.getModuleCount()
    for (let i = 0; i < n; i++) {
        for (let j = 0; j < n; j++) {
            if (q.isDark(i, j)) {
                Cells(i + 1, j + 2).Interior.Color = 0
            }
        }
        Cells(1, i + 2).ColumnWidth = Cells(1, i + 2).RowHeight / 5.75
    }
}

代码很简单:

  • 3-5行是调用库,根据A1单元格的内容画出一个QRCode

  • getModuleCount获取长宽各几个像素

  • 然后循环行和列,用isDark判断哪个单元格需要涂黑

  • 在后面又加了一行,对每一列不太准确的将列宽设置为行高

海南省
浏览 194
收藏
6
分享
6 +1
2
+1
全部评论 2
 
user_19042982
· 安徽省
2
回复
 
wils
wils Lv.2 潜力创作者

Lv.2潜力创作者

呃,忘记写清除了,也就是说第二次生成之前,需要手动删除原来的那些列。。。
· 海南省
1
回复