首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在VBA中添加来自OLEobjects的二维码作为图像

如何在VBA中添加来自OLEobjects的二维码作为图像
EN

Stack Overflow用户
提问于 2020-07-17 15:45:38
回答 1查看 487关注 0票数 0

我正在尝试在Excel文件中生成二维码。并成功地以OLEObject格式生成了二维码。但是,我不能将此对象更改为image。你能检查一下我的代码吗?为什么不是从oleobject到image的转换?当我运行此程序时,附加了一个空图像。

代码语言:javascript
运行
复制
Dim xObjOLE As OLEObject
Dim ObjName As String

    On Error Resume Next

Set xObjOLE = Sheet1.OLEObjects.Add("BARCODE.BarCodeCtrl.1", Width:=80, Height:=80)
xObjOLE.Object.Style = 11
xObjOLE.Object.Value = "test"
Application.ScreenUpdating = True
ObjName = xObjOLE.Name
ActiveSheet.Shapes.Range(Array(ObjName)).Select
Selection.Copy
ActiveSheet.PasteSpecial Format:="Picture (Enhanced Metafile)", Link:=False _
        , DisplayAsIcon:=False

xObjOLE.Delete

End Sub
EN

回答 1

Stack Overflow用户

发布于 2021-10-26 15:53:58

代码语言:javascript
运行
复制
Sub setQR(inText As String, outCell As String)
    Dim xSRg As Range
    Dim xRRg As Range
    Dim xObjOLE As OLEObject
    Debug.Print "tempImageFullName:"
    On Error Resume Next
    If inText = "" Then Exit Sub
    If outCell = "" Then Exit Sub
    
    Application.ScreenUpdating = False
    Set xObjOLE = ActiveSheet.OLEObjects.Add("BARCODE.BarCodeCtrl.1")
    xObjOLE.Object.Style = 11
    xObjOLE.Object.Value = "Sample"
    xObjOLE.Width = 200
    xObjOLE.Height = 200
    'xObjOLE.Object.Type = 87
    xObjOLE.CopyPicture xlScreen, xlPicture
    ActiveSheet.Paste ActiveSheet.Range(outCell)
    ActiveSheet.Range(outCell).RowHeight = qrW
    ActiveSheet.Range(outCell).ColumnWidth = qrH
    xObjOLE.Delete
    Application.ScreenUpdating = True
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62949410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档