You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法修改Excel行高及图片宽高比与高度的VBA技术问题

修正VBA操作Excel图片的错误代码

错误原因及修正要点

  • 选中图片的方式错误:Shapes.Range(...).Select在后期绑定场景下易出问题,且依赖选中状态并非最佳实践,应直接引用Shape对象
  • 属性调用错误:Worksheet对象没有ShapeRange属性,该属性属于Selection对象,直接通过Shapes("图片名称")获取目标对象更可靠
  • 字符串语法错误:VBA中字符串必须用双引号包裹,原代码的'test'会报错
  • 常量使用问题:后期绑定(CreateObject)场景下无法直接使用Excel内置常量(如msoFalse),需替换为对应数值(msoFalse对应0)
  • 笔误:409**多了一个星号,qUIT拼写错误应为Quit
  • 冗余代码:获取激活工作表的写法可简化,同时需补充释放工作表对象的语句

修正后的完整代码

Set appExcel = CreateObject("Excel.Application")
Set myWorkbook = appExcel.Workbooks.Open(sFileName)
appExcel.Visible = True
Set myWorkSheet = myWorkbook.ActiveSheet ' 简化获取激活工作表的代码
myWorkSheet.Range("Q3").Value = "test" ' 修正字符串引号
myWorkSheet.Range("6:6").RowHeight = 406

' 直接操作目标图片,无需选中
With myWorkSheet.Shapes("Picture 33")
    .LockAspectRatio = 0 ' 后期绑定用数值0代替msoFalse
    .Height = 409 ' 修正笔误
End With

myWorkbook.Save
myWorkbook.Close True
appExcel.Quit ' 修正拼写错误
Set myWorkSheet = Nothing ' 补充释放工作表对象
Set myWorkbook = Nothing
Set appExcel = Nothing

内容的提问来源于stack exchange,提问作者Brent J Fanguy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 19:03:10