<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Excel自帶控件批量生成條形碼或二維碼

          共 2702字,需瀏覽 6分鐘

           ·

          2021-05-26 00:01

          ▎具體需求


          根據(jù)A列信息,批量生成二維碼或者條形碼。






          ▎思路分析


          我們這里使用Excel自帶的二維碼條形碼控件搭配VBA,實現(xiàn)批量生成的效果。



          ▎具體步驟


          ①由于二維碼控件不是默認控件,需要單獨找到添加。我們在開發(fā)工具中,找插入控件,選擇【其他控件】 。





          ②找到我們需要的二維碼條形碼控件。點擊,添加到表格中。繪制控件的時候,位置可以隨意放置,因為后面批量生成的時候,代碼還會對控件的位置重新布置。












          ③將以下代碼放到模塊中。

          注意:生成二維碼和條形碼使用的都是這一個控件,只是通過其中一個參數(shù)Object.Style ,來控制生成的樣式。



          Sub 批量生成二維碼()    Dim k As Long, i As Long    Call 清除    k = ActiveSheet.Range("A65536").End(xlUp).Row    For i = 1 To k        With ActiveSheet.OLEObjects.Add(ClassType:="BARCODE.BarCodeCtrl.1") '新增控件            '控件的屬性            .Left = ActiveSheet.Cells(i, 1).Width + 2            .Top = ActiveSheet.Cells(i, 1).Top + 2            .Width = 50            .Height = 50            '鏈接的參數(shù)單元格            .Object.Style = 11 '二維碼            .Object.ShowData = 1            .LinkedCell = "A" & i        End With    NextEnd Sub
          Sub 批量生成條形碼() Dim k As Long, i As Long Call 清除 k = ActiveSheet.Range("A65536").End(xlUp).Row For i = 1 To k With ActiveSheet.OLEObjects.Add(ClassType:="BARCODE.BarCodeCtrl.1") '新增控件 '控件的屬性 .Left = ActiveSheet.Cells(i, 1).Width + 2 .Top = ActiveSheet.Cells(i, 1).Top + 2 .Width = 150 .Height = 50 '鏈接的參數(shù)單元格 .Object.Style = 7 '條碼 .Object.ShowData = 1 .LinkedCell = "A" & i End With NextEnd SubSub 清除() Dim pic As Shape With Sheet1 For Each pic In .Shapes If pic.Type = 12 Then pic.Delete '刪除sheet1中所有二維碼圖片 Next pic End WithEnd SubSub 導出二維碼條形碼() Dim ad$, m&, mc$, shp As Shape Dim nm$, n&, myFolder$ n = 0 myFolder = ThisWorkbook.Path & "\二維碼圖片\" '指定文件夾名稱 For Each shp In ActiveSheet.Shapes If shp.Type = 12 Then If Len(Dir(myFolder, vbDirectory)) = 0 Then MkDir myFolder End If n = n + 1 m = shp.TopLeftCell.Row mc = Cells(m, 1)' If code_name = "" Then nm = mc & ".jpg" '圖形對象的名字' Else' nm = ActiveSheet.Cells(m, code_name) & ".jpg"' End If shp.CopyPicture '將圖形對象復制到剪切板 With ActiveSheet.ChartObjects.Add(0, 0, shp.Width, shp.Height).Chart '在工作表中添加一個圖表對象 .Parent.Select .Paste '代碼將剪切板中的圖形對象以圖片的格式粘貼到新添加的圖表中 .Export myFolder & nm .Parent.Delete '刪除工作表中添加的圖表對象 End With End If NextEnd Sub




          ▎效果


          • 批量生成二維碼或條形碼




          • 導出二維碼或條形碼









          推薦閱讀:(點擊下方標題即可跳轉)


          瀏覽 324
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美日韩激情在线观看 | 屌操网 | 无毛少妇| jiZZ亚洲女人高潮大叫 | AA毛片 |