vba模拟右键粘贴时选择为图片
Sub PasteImage() '定义变量 Dim objData As DataObject Dim filePath As String
'获取剪贴板中的数据
Set objData = New DataObject
objData.GetFromClipboard
'如果剪贴板中存在图片,则保存为文件
If objData.GetFormat(vbCFBitmap) Then
filePath = ThisWorkbook.Path & "\temp.bmp"
objData.SaveToFile filePath
ElseIf objData.GetFormat(vbCFDIB) Then
filePath = ThisWorkbook.Path & "\temp.dib"
objData.SaveToFile filePath
ElseIf objData.GetFormat(vbCFMetafile) Then
filePath = ThisWorkbook.Path & "\temp.emf"
objData.SaveToFile filePath
ElseIf objData.GetFormat(vbCFEnhMetafile) Then
filePath = ThisWorkbook.Path & "\temp.emf"
objData.SaveToFile filePath
Else
MsgBox "剪贴板中不存在图片"
Exit Sub
End If
'插入图片
ActiveSheet.Pictures.Insert(filePath).Select
'删除临时文件
Kill filePath
End Su
原文地址: https://www.cveoy.top/t/topic/dS25 著作权归作者所有。请勿转载和采集!