二維碼不用多說了,每個人都十分熟悉,本章将介紹一下如何在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
二維碼制作是一個很有用的功能,以前在制作的時候沒有找到方法,最近做了研究了一下,感覺十分方便。
不用多想趕快收藏起來吧!
歡迎關注、收藏
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!