我正在尝试在Excel文件中生成二维码。并成功地以OLEObject格式生成了二维码。但是,我不能将此对象更改为image。你能检查一下我的代码吗?为什么不是从oleobject到image的转换?当我运行此程序时,附加了一个空图像。
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
发布于 2021-10-26 15:53:58
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
https://stackoverflow.com/questions/62949410
复制相似问题