Excel VBA二维码生成替代方案问询:Google Charts API已停用
解决方案:替换Excel VBA中已停用的Google Charts二维码API
问题根源
原VBA代码调用的Google Charts静态图片API(http://chart.apis.google.com/chart?cht=qr&chs=80x80&chl=)已于2019年3月18日正式停用,导致Excel .xlsm文件无法生成二维码。
可用替代URL式二维码服务
以下服务均支持通过GET请求直接返回二维码图片,完全适配VBA的网络请求逻辑,只需替换原API地址并调整参数映射即可:
QR Server API
URL格式:https://api.qrserver.com/v1/create-qr-code/?size=80x80&data=需要编码的内容
参数说明:size:控制二维码尺寸,对应原API的chs参数data:二维码承载的内容,对应原API的chl参数
QR Code Generator API
URL格式:https://api.qr-code-generator.com/v1/create?size=80x80&format=png&content=需要编码的内容
参数说明:size:尺寸参数,与原chs一致format:指定图片格式(支持png/jpg等)content:二维码内容,对应原chl
GoQR.me API
URL格式:https://goqr.me/api/v1/create-qr-code/?size=80x80&data=需要编码的内容
参数说明:size:尺寸设置,匹配原chsdata:二维码内容,对应原chl
VBA代码替换示例
假设原VBA代码片段为:
Dim qrUrl As String qrUrl = "http://chart.apis.google.com/chart?cht=qr&chs=80x80&chl=" & Range("A1").Value ' 后续请求图片并插入到单元格的逻辑
替换为QR Server API的代码:
Dim qrUrl As String qrUrl = "https://api.qrserver.com/v1/create-qr-code/?size=80x80&data=" & Range("A1").Value ' 保留原有的图片请求与插入逻辑即可
注意事项
- 部分免费API存在请求频率限制,若需大量生成二维码,建议先测试服务的限额规则
- 若需要自定义纠错级别、边距等高级参数,可查阅对应服务的官方文档调整参数
内容的提问来源于stack exchange,提问作者Danny Forche
相关产品推荐
相关产品推荐

