二维码不用多说了,每个人都十分熟悉,本章将介绍一下如何在Excel中将网址链接制作成二维码,进行管理。

vba生成二维码实例(Excelvba如何制作二维码)(1)

知识点:

新建BarCodeCtrl 代码格式

Object.Controls.Add("BarCode.BarCodeCtrl.1", "BarName")

解释:这句代码的意思是在Object对象里,新建一个名称为BarName二维码

其中Object 对象 可以是表单Form 等等,发挥想象吧!“BarName”名称可以自己命名,也可以省略为默认名。

数据表记录

vba生成二维码实例(Excelvba如何制作二维码)(2)

我们在建立二维码的时候,一定要有内容,就是二维码中要保存的具体内容是什么。

这个例子的二维码内容就是一个网址,所以在扫描二维码的时候就可以直接打开相应的网络地址 了。

具体数据内容是一些自媒体文章发表的网址,也可以将网址更换为任何数据,都可以制作成二维码内容。

文章名和地址是最重要的内容,其它没有做相关编码,不是十分重要。

其中运用了 字典功能,将数据写到字典里面,然后再对字典进行读取操作。

Set Dics = CreateObject("Scripting.Dictionary")'创建字典 With Selection For i = 1 To iR - 1 Dics.Add .Offset(i, 0).Value, s.Range("A2").Value & .Offset(i, 1).Value'添加字典 Next i End With

字典操作可以查看上一章内容。

运行效果1

vba生成二维码实例(Excelvba如何制作二维码)(3)

左侧为列出文章名称,运用了一个ListBox列表框,单击后自动建立右侧二维码,这些二维码可以直接扫描访问,现在拿出手机试一下吧!

添加二维码

Dim erObj As BarCodeCtrl '添加二维码 Set erObj = Me.Controls.Add("BarCode.BarCodeCtrl.1", "ErWeiMa") '设置二维码属性 With erObj .Style = 11 .Top = 100 .Left = 450 .Height = 350 .Width = 350 Dim x x = VBA.Rnd() * (255 - 1) - 1 .ForeColor = RGB(x, 255 - x, 111)'二维码颜色随机取值 .Value = Dics.Item(Me.ListBox1.Value) End With

有一个关键注意地方就是,新建的二维码一定要赋值,不然就不会在表单中显示二维图片。

以前不知道为什么程序调试通过,为什么没有显示二维码,结果Value 没有赋值,所以这一点很重要。

运行效果二

vba生成二维码实例(Excelvba如何制作二维码)(4)

这个将二维码全部显示出来的效果还可以,但不是十分理想。

其中涉及一些行列布局条件设置,其实并没有完全实现,如果文章内容过多,这样的话显示效果是很不适合的。

所以大家略过就可以了。

后台代码

vba生成二维码实例(Excelvba如何制作二维码)(5)

新建二维码

Option Explicit Dim Dics As Object Private Sub ListBox1_Click() If Not Dics.exists(Me.ListBox1.Value) Then Exit Sub Dim Dobj As Object For Each Dobj In Me.Controls If TypeName(Dobj) = "BarCodeCtrl" Then Me.Controls.Remove Dobj.Name End If Next Dobj Dim erObj As BarCodeCtrl Set erObj = Me.Controls.Add("BarCode.BarCodeCtrl.1", "ErWeiMa") With erObj .Style = 11 .Top = 100 .Left = 450 .Height = 350 .Width = 350 Dim x x = VBA.Rnd() * (255 - 1) - 1 .ForeColor = RGB(x, 255 - x, 111) .Value = Dics.Item(Me.ListBox1.Value) End With Dim Tobj As Object Set Tobj = Me.Controls.Add("Forms.Label.1", "Tabb") With Tobj .Top = 80 .Left = 450 .Width = 350 .Height = 28 .Caption = Me.ListBox1.Value .TextAlign = 2 With .Font .Size = 12 .Name = "微软雅黑" End With End With End Sub

二维码制作是一个很有用的功能,以前在制作的时候没有找到方法,最近做了研究了一下,感觉十分方便。

不用多想赶快收藏起来吧!

欢迎关注、收藏

,