在Mac VBA中生成QR代码

时间:2017-03-27 19:20:40

标签: excel vba macos excel-vba qr-code

我试图在Mac上运行的Excel工作表中创建并显示一系列QR码(200+)。 Patratacus在Generating 2D (PDF417 or QR) barcodes using Excel VBA上发现的第一个解决方案需要很长时间来运行如此多的代码,并且因为QR码由多种形状组成,所以屏幕刷新变得非常慢,一张纸上有200多个QR码。

所以,我已经在Generating 2D (PDF417 or QR) barcodes using Excel VBA使用@Luiz解决方案在PC上运行了代码,但遗憾的是它似乎无法在Mac上运行。

使用代码:

sURL = "https://api.qrserver.com/v1/create-qr-code/?" + "size=" + Trim(Str(size)) + "x" + Trim(Str(size)) + "&color=" + color + "&bgcolor=" + bgcolor + "&data=" + data
Debug.Print sURL

Set pic = ActiveSheet.Pictures.Insert(sURL + sParameters)

SURL + sParameters - 似乎从API https://api.qrserver.com/v1/create-qr-code/?返回图像的原始数据。所以我能够获得一个Mac shell脚本来返回我认为使用的相同原始数据:

sResult = execShell(= "curl --get -d """ & "size=" + Trim(Str(size)) + "x" + Trim(Str(size)) + "&color=" + color + "&bgcolor=" + bgcolor + "&data=" + data & """" & " " & "https://api.qrserver.com/v1/create-qr-code/?")

但是,如果将返回的字符串插入:

ActiveSheet.Pictures.Insert()

在mac上,它似乎也无法正常工作。所以我的猜测是在Mac上ActiveSheet.Pictures.Insert()无法读取原始图像数据,只能读取图片文件的路径和文件名。

所以我认为我们的选择是:

  1. 使用API​​返回的原始数据或

  2. 查找在Excel工作表上显示图片的原因
  3. 找到一种方法将API返回的原始数据保存为Macs文件系统上的图片文件,然后使用excels ActiveSheet.Pictures.Insert()代码打开该文件。

  4. 以下是API文档页面的链接:http://goqr.me/api/doc/create-qr-code/

    我希望我上面写的内容有道理,因为我可能没有正确的所有术语。我对使用API​​等感到很陌生。

0 个答案:

没有答案