vba生成二维码实例(Excelvba如何制作二维码)
二维码不用多说了,每个人都十分熟悉,本章将介绍一下如何在Excel中将网址链接制作成二维码,进行管理。
知识点:
新建BarCodeCtrl 代码格式
Object.Controls.Add("BarCode.BarCodeCtrl.1", "BarName")
解释:这句代码的意思是在Object对象里,新建一个名称为BarName二维码
其中Object 对象 可以是表单Form 等等,发挥想象吧!“BarName”名称可以自己命名,也可以省略为默认名。
数据表记录
我们在建立二维码的时候,一定要有内容,就是二维码中要保存的具体内容是什么。
这个例子的二维码内容就是一个网址,所以在扫描二维码的时候就可以直接打开相应的网络地址 了。
具体数据内容是一些自媒体文章发表的网址,也可以将网址更换为任何数据,都可以制作成二维码内容。
文章名和地址是最重要的内容,其它没有做相关编码,不是十分重要。
其中运用了 字典功能,将数据写到字典里面,然后再对字典进行读取操作。
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
左侧为列出文章名称,运用了一个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 没有赋值,所以这一点很重要。
运行效果二
这个将二维码全部显示出来的效果还可以,但不是十分理想。
其中涉及一些行列布局条件设置,其实并没有完全实现,如果文章内容过多,这样的话显示效果是很不适合的。
所以大家略过就可以了。
后台代码新建二维码
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
二维码制作是一个很有用的功能,以前在制作的时候没有找到方法,最近做了研究了一下,感觉十分方便。
不用多想赶快收藏起来吧!
欢迎关注、收藏
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com