解决vba插入图片后图片无法显示的问题
来源:网络收集 点击: 时间:2024-07-29你遇到的问题是不是这样:无法显示连接的图像。该文件可能已被移动、重命名或删除。请验证该连接是否指向正确的文件和位置。

据了解,该问题自EXCLE2010(含)之后就出现这个问题,意味着你用的老版本的excel不会出现这个问题。解决方法是将Pictures.Insert替换为Shapes.AddPicture可解决问题。

我是在别人的方法基础上修改替换为Shapes.AddPicture的,解决了通过单元格定位图片插入位置,以及如何原始比例插入图片等问题:

首先打开Excel之后,按快捷键:Alt+F11,或者在顶部菜单栏选择“开发工具”→点击“Visual Basic”打开vba编辑器:

在左侧工程栏目下,找到刚才的工作簿,点击右键“插入”→“模块”:

插入以下代码:
Sub InsertPicture(objSheet As Worksheet, PictureFileName As String, TargetCell As Range, _ CenterH As Boolean, CenterV As Boolean)
Dim p As Object, t As Double, l As Double, w As Double, h As Double
If TypeName(objSheet) Worksheet Then Exit Sub
If Dir(PictureFileName) = Then Exit Sub
添加图片
Set p = objSheet.Shapes.AddPicture(PictureFileName, 0, 1, 0, 0, -1, -1)
定位,如果根据单元格,最后两个参数设置为false
With TargetCell
t = .Top
l = .Left
If CenterH Then
w = .Offset(0, 1).Left - .Left
l = l + w / 2 - p.Width / 2
If l 1 Then l = 1
End If
If CenterV Then
h = .Offset(1, 0).Top - .Top
t = t + h / 2 - p.Height / 2
If t 1 Then t = 1
End If
End With
With p
.Top = t
.Left = l
End With
Set p = Nothing
End Sub

排版不易,请珍惜,下面给一个使用该方法的列子:
InsertPicture ActiveSheet, d:\a.png, Cells(2, 2), False, False

完成。
注意事项希望对你有用。本文内容为网上搜索并自己实践总结。
觉得有用请点个赞。
VBAADDPICTURE图片不显示EXCEL版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_1028864.html