在MS Office中制作二维码及应用举例B

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在MS Office中制作二维码及应用举例

周友胜

摘要:本文就以常用的OFFICE2003为基础进行QR二维码设计制件,仅需简单安装一控件即可,适合以Windows+MS Office(2003、2007、2010、2013,32位)的办公环境使用,无需安装额外的任何软件。

关键字:QR二维码、QRmaker.ocx控件、邮件合并

本交所讨论的为QR二维码,以“QRmaker.ocx”控件为核心制作生成二维码,此控件为日本denso公司制作,现在可网上下载无限制功能使用。

QR二维码是由日本丰田子公司Denso Wave于1994年发明并开始使用的一种矩阵二维码符号。QR码不仅信息容量大、可靠性高、成本低,还可表示汉字及图像等多种文字信息、其保密防伪性强而且使用非常方便。

二维码和手机摄像头的配合将产生多种多样的应用,比如我们可以在自己的名片上印上二维码,别人只需用安装二维码识别软件的摄像手机轻松一拍,名片上的各种资料就全部输入手机;在学校日常工作中,我们也可以制作有二维码的各种证件资料,如录取通知书、毕业证书、借书证、学籍登记表等。

虽然现在有不少制作二维码并能批量打印的软件,但需安装较复杂和收费软件,本文就以常用的OFFICE2003为基础进行QR二维码设计制件,仅需简单安装一控件即可,适合以Windows+ MS Office(2003、2007、2010、2013,32位)的办公环境使用,无需安装额外的任何软件。通过网络搜索,发现此类的资料非常少和零碎,本文就以完整的实例进行相关的探讨和尝试。

在进行制作前,首先要下载QRmaker.ocx控件,一共有五个文件“QRmaker.ocx、vssver.scc、QRmaker.lic、QRmaker.oca、QRmaker.tlb”,把上列文件复制到C:\WINDOWS\system32文件夹下面,64位系统复制到C:\Windows\SysWOW64文件夹内。Windows XP系统在命令窗口执行“regsvr32 QRmaker.ocx ”注册控件便可使用。在windows 7\8要以管理员身份运行“CMD.EXE”命令窗口,执行“regsvr32 QRmaker.ocx ”注册命令方可正常注册。经测试控件可在windows 98\2000\xp\7\8(32和64位)和office2000\2003\2007\2010\2013(仅32位)中正常使用,因QRmaker.ocx是32位控件,只能在32位软件中调用。本文以windows XP和Office2003环境进行应用举例,所有代码均可在后继新版本软件中运行。例子中所出现的姓名、证件号、单位均为虚拟数据。

一、在PowerPoint 中制作生成二维码小工具

首先运行PowerPoint,打开“工具→宏→安全性”,把安全级设为低。其次,打开“视图→工具栏→控件工具箱”,在“其它控件”中找到“QRMaker Control”,点后鼠标会变成十字,在空白区域画一个二维码控件。再在控件工具箱添加一个文本框和两个命令按钮。选择文本框(TextBox),打开属性面板,把文本框(TextBox)的MultiLine 的值改为True,设置文本框为多行文本显示;再打ScrollBars的值改为fmscrollBarsVertical,设置文本框具有垂直滚动条。把命令按钮1(CommandButton1)的Caption属性修改为“显示二维码”,把命令按钮2(CommandButton2)的Caption属性修改为“二维码保存为图片”。布局如图1

图1

双击命令按钮1(CommandButton1),打开VBA编辑器,添加以下代码。Private Sub CommandButton1_Click()

Dim i As Integer

Dim n As String

n = TextBox1.Text

With QRmaker1

.ModelNo = 2 '设置二维码类型

.CellPitch = 10 '设置二维码每个单元DPI

.CellUnit = 203 '设置打印DPI

.QuietZone = 0

.Refresh

.AutoRedraw = ArOn '启用QRmaker的自动重画属性

.InputData = n '将TextBox1的值传递给QRmaker1输出

End With

End Sub

双击命令按钮2(CommandButton2),打开VBA编辑器,添加以下代码。Private Sub CommandButton2_Click()

Dim x, m, n As String

m = "请输入保存图片的文件名:"

n = InputBox(m, "输入文件名", "请输入文件名")

x = TextBox1.Text

With QRmaker1

.ModelNo = 2

.CellPitch = 10

.CellUnit = 203

.QuietZone = 0

.Refresh

.AutoRedraw = ArOn

.InputData = x

.CreateQrMetaFile 1, ActivePresentation.Path & "/" & n & ".bmp", 2

End With

End Sub

返回POWERPOINT窗口,保存PPT文件,播放幻灯片,在文本框输入内容,点“显示二维码”按钮,QRMaker控件就显示对应的二维码图像;点“二维码保存为图片”按钮,QRMaker控件就在当前文件所在文件夹生成一个BMP格式的二维码图片。

二、在EXCEL中批量生成二维码图片

本例以学生学籍信息表为演示,工作簿Sheet2表为学生信息资料,Sheet1表为操作窗口。参照前面在POWERPOINT添加控件的方法,在SHEET1表中添加一个“QRMaker Control”控件,一个命令按钮,同时在“工具→宏→安全性”,把安全级设为低。如图2、图3:

图2 (SHEET1表)图3(SHEET2表)本例中,AI列为需生成二维码的数据,数据是用公式把前面某些列合并在一起的文本,内容为姓名、身份证号码、性别等。

让控件处于设计模式,双击命令按钮,输入以下代码:

Private Sub CommandButton1_Click()

Dim i As Integer, j As Integer, k As Integer

Dim nm As String

i = edRange.Rows.Count '表中已用数据的行数

j = edRange.Columns.Count '表中已用数据的列数

With QRmaker1

.ModelNo = 2

.CellPitch = 5

.CellUnit = 203

.QuietZone = 0

.Refresh

End With

For k = 2 To i

nm = CStr(Sheet2.Range("A" & k).Value) + "_" + Sheet2.Range("D" & k).Value + Sheet2.Range("c" & k).Value '生成的二维码图片文件名由表中的序号(A列)+身份证号码(D列)+姓名(C列)组成,保证文件名的唯一性

Sheet1.QRmaker1.AutoRedraw = ArOn '启用QRmaker的自动重画属性

Sheet1.QRmaker1.InputData = Sheet2.Range("AI" & k).Value '将AI列单元格的值传递给QRmaker1输出

Sheet1.QRmaker1.CreateQrMetaFile 1, ThisWorkbook.Path & "/" & nm & ".bmp", 2 '生成二维码图片,保存在当前文件夹

Next k

相关文档
最新文档