纯JS宏生成二维码

wils
wils

创作者俱乐部成员

最近碰巧发现了这个库,https://github.com/papnkukn/qrcode-svg

下载lib文件夹里的qrcode.js,导入wps宏编辑器,就可以生成svg格式的二维码了


需要注意的是,其中save方法不可用,需要保存到本地时,要改成FileSystem接口

🔔

function aa()

{

for (const i of Range("A1:A3").Value2.flat()) {

const s = new QRCode(i).svg()

FileSystem.WriteFile(`${ThisWorkbook.Path}\\${i}.svg`, s)

}

}


如果不使用本地临时文件,似乎也可以通过剪贴板,向表格插入二维码

🔔

function bb()

{

const tb = ActiveSheet.Shapes.AddTextbox(1, 1, 1, 100, 100)

for (const i of Range("A1:A3").Value2.flat()) {

const s = base64enc(new QRCode(i).svg())

tb.TextFrame2.TextRange.Text += `<table><img src='data:image/svg+xml;base64,${s}'>`

}

tb.TextFrame2.TextRange.Copy()

tb.Delete()

Range("B1").Select()

ActiveSheet.Paste()

}

其中的base64enc是将字符串转base64的方法


二维码插入表格之后,可以再导出为其他图片格式,还有其他一些玩法。。。

总之,这就是个纯JS宏环境可用的二维码库,在无网络不安装加载项的情况下可能有用😁

广东省
浏览 240
2
7
分享
7 +1
6
2 +1
全部评论 6
 
小官
大佬 可以转入gitee吗? Github不敢用
· 浙江省
回复
wils
wils

创作者俱乐部成员

有人做过了 https://gitee.com/zxnwda/qrcode-svg
· 广东省
回复
 
yy3924
很强
· 浙江省
回复
 
HC.旋
小白,大佬能说说怎么导入吗
· 福建省
1
回复
wils
wils

创作者俱乐部成员

哦哦,忘记说了 点击,文件->导入文件->选中那个js,会报错,但不用理会,因为只是说导入的不是从wps导出的文件,没有影响 另外,工具->选项->编译,这里的两个禁止全局的选项需要去掉
· 海南省
回复