最近因为要用到二维码,网上搜了一下,有个别小软件能够实现二维码的生成,但由于是EXE格式,无法修改,所以不实用。然后就是想到一些二维码控件,搜到不少,但基本上都是收费的,并且也不知道效果怎样。
终于找到一个QRmaker控件,使用也很简单,可以用于VB平台,当然VBA用也就没问题了。
一、VB中调用QRmaker
先“新建”一个“标准EXE”工程,在控件工具箱中要添加QRmaker控件,然后在Form上分别添加一个Textbox控件(我这里取的名称为txtInputData)和一个QRmaker控件。其中Textbox控件的属性可根据自己的喜好进行设置,QRmaker控件的AutoRedraw属性建议设置为“1-ArOn”,当然也可以在代码中直接控制。
双击窗体,进入代码编辑界面,分别完成以下代码。
Private Sub Form_Load()
txtInputData.Text = "请单击此处,输入要生成二维码的文本"
End Sub
Private Sub txtInputData_Click()
txtInputData.Text = ""
End Sub
Private Sub txtInputData_Change()
QRmaker1.InputData = txtInputData.Text
End Sub
txtInputData.Text = "请单击此处,输入要生成二维码的文本"
End Sub
Private Sub txtInputData_Click()
txtInputData.Text = ""
End Sub
Private Sub txtInputData_Change()
QRmaker1.InputData = txtInputData.Text
End Sub
如果没有设置QRmaker的AutoRedraw属性,则txtInputData_Change事件中还需要添加“QRmaker1.Refresh”代码行,总的代码如下图所示。
最后生成EXE,可以输入文字,可以看到已经可以生成二维码了,由于使用了txtInputData_Change()事件,所以在文本框中输入的文字,下方的二维码会实时的展现。
至此VB中调用QRmaker生成二维码已经没什么问题了,其他细节部分可根据实际情况进行修改。
二、VBA中调用QRmaker
由于VBA的窗体环境和VB中的差不多,所以在VBA窗体中调用QRmaker就不再描述,这里主要说明一下如何在表格中引用QRmaker。
第一步:单击Office按钮,在Excel选项中开启“开发工具”项,从而让“开发工具”选项卡显示出来。
第二步,插入→其他控件,选择QRmaker。
然后就是在合适的地方绘出QRmaker控件,这时会自动进入“设计模式”,单击“属性”可以展开控件的“属性”栏,可根据需要设置相关属性,和VB中的操作雷同。
接下来与VB中不一样的地方就是如何在VBA代码中引用QRmaker控件了,这点和VB中有点小区别。
添加“模块”,添加“过程”,输入代码。
Public Sub QRCodeTest()
'定义QRString变量,存储要生成二维码的字符串
Dim QRString As String
'给QRString赋值,根据实际情况赋值
QRString = Sheet1.Range("E14") & Sheet1.Range("F14") & ";" & Sheet1.Range("E15") & Sheet1.Range("F15") & ";" & Sheet1.Range("E16") & Sheet1.Range("F16") & "_" & Sheet1.Range("G16") & "_" & Sheet1.Range("F17") & "_" & Sheet1.Range("G17")
Sheet1.Select
'设置QRmaker的AutoRedraw属性为ArOn
Sheet1.QRmaker1.AutoRedraw = ArOn
'将字符串传递给QRmaker控件
Sheet1.QRmaker1.InputData = QRString
'刷新QRmaker的内容,如果AutoRedraw属性为On,则无需此句
'Sheet1.QRmaker1.Refresh
End Sub
'定义QRString变量,存储要生成二维码的字符串
Dim QRString As String
'给QRString赋值,根据实际情况赋值
QRString = Sheet1.Range("E14") & Sheet1.Range("F14") & ";" & Sheet1.Range("E15") & Sheet1.Range("F15") & ";" & Sheet1.Range("E16") & Sheet1.Range("F16") & "_" & Sheet1.Range("G16") & "_" & Sheet1.Range("F17") & "_" & Sheet1.Range("G17")
Sheet1.Select
'设置QRmaker的AutoRedraw属性为ArOn
Sheet1.QRmaker1.AutoRedraw = ArOn
'将字符串传递给QRmaker控件
Sheet1.QRmaker1.InputData = QRString
'刷新QRmaker的内容,如果AutoRedraw属性为On,则无需此句
'Sheet1.QRmaker1.Refresh
End Sub
然后就可以在Excel表格中生成二维码了,根据实际情况,在填写相关数据后,执行上面的语句就可以了,其他的工作该咋的就咋的吧。
附上QRmaker控件的下载。
【Qrmaker.ocx控件的使用.zip】点击下载此文件
另:这里由于是利用QRmaker控件来生成二维码,所以并没有技术含量。而就二维码本身,包含的知识点还是相当多的,目前还没去了解过编辑技术层面的内容。期待有达人们能够放出类似控件的源代码,从而让更多的人了解并掌握二维码的知识。
PS:现在的二维码真是无处不在,前段时间移动赠送给我的电影票都是以二维码的形式发送的。现在火车票上也加上二维码了,且现在很多手机都支持二维码识别了。一个新的读码时代即将到来。
本文出自 “越野苍狼的博客” 博客,请务必保留此出处http://windyli.blog.51cto.com/1300305/284574
[本日志由 tiancao1001 于 2015-06-12 08:11 PM 编辑]
|
暂时没有评论
发表评论 - 不要忘了输入验证码哦! |