当前位置: 首页 > article >正文

Excel单元格中自适应填充多图

实例需求:在Excel插入图片时,由于图片尺寸各不相同,如果希望多个图片填充指定单元格,依靠用户手工调整,不仅费时费力,而且很难实现完全填充。如下图中的产品图册,有三个图片,如下图所示。

在这里插入图片描述

在不改变C列宽度的情况下,需要将三个图片调整为相同高度,并且填满单元格(可以修改行高)。

在这里插入图片描述

Sub Demo()
    Dim rngCell As Range, oShp As Shape
    Dim wAll As Double, r As Double, iLeft As Double
    Set rngCell = Range("C2")
    For Each oShp In Sheet1.Shapes
        oShp.LockAspectRatio = msoCTrue
        oShp.Height = 100
        wAll = wAll + oShp.Width + 1
    Next
    r = rngCell.Width / (wAll + 1)
    iLeft = rngCell.Left + 1
    For Each oShp In Sheet1.Shapes
        oShp.Height = 100 * r
        oShp.Top = rngCell.Top + 1
        oShp.Left = iLeft
        iLeft = iLeft + oShp.Width + 1
    Next
    rngCell.RowHeight = Sheet1.Shapes(1).Height + 2
End Sub

【代码解析】
第5行代码指定图片填充单元格。
第6~10行代码循环遍历工作表Sheet1中的图片。
第7行代码锁定图片的纵横比,避免调整图片尺寸导致图片变形。
第8行代码统一图片高度。
第9行代码统计图片的累计宽度,此处加一作为相邻图片之间的间隔。
第11行代码计算缩放比例。
第12行代码计算图片的水平偏移位置,第一图片的偏移量于单元格的Left属性相同,即对齐被填充单元格的左侧。此处增加偏移量为1,是为了避免图片覆盖单元格边框线。
第13~18行代码循环遍历工作表Sheet1中的图片,设置图片位置和尺寸。
第14行代码修改图片高度,由于锁定了纵横比,因此图片的宽度也会按同比例变化。
第15行代码设置图片Top属性于被填充单元格相同,即对齐被填充单元格顶部。
第16行代码调整图表位置。
第17行代码累加当前图片宽度,计算下一个图片位置。
第19行代码修改被填充单元格的高度,以适配图片高度。


http://www.kler.cn/a/395980.html

相关文章:

  • Win11 终端执行 python xxx.py 没反应
  • 神经网络与Transformer详解
  • 51c大模型~合集42
  • Postman接口测试(断言、关联、参数化、输出测试报告)
  • Vue的基础使用
  • PdServer:调用MidjourneyAPI完成静夜思图文生成
  • SpringCloud核心组件(三)
  • 6547网:青少年软件编程Python等级考试(六级)真题试卷
  • 一键抠图:免费安全的在线图片去除背景工具
  • uniapp 实现 ble蓝牙同时连接多台蓝牙设备,支持app、苹果(ios)和安卓手机,以及ios连接蓝牙后的一些坑
  • 鸿蒙元服务 证书过期替换 ERROR - hap-sign-tool: error: Signature verify failed
  • Spring Boot3 实战案例合集上线了
  • Shell脚本:遍历目录下的文件
  • 深度学习神经网络在机器人领域应用的深度剖析:原理、实践与前沿探索
  • Hive的map/struct/array怎么通过insert插入数据
  • 硬件工程师之电子元器件—二极管(6)之肖特基二极管特性
  • STM32 BootLoader 刷新项目 (十) Flash擦除-命令0x56
  • SQL进阶写法
  • 机器视觉和计算机视觉的区别
  • 提升前端性能:如何优化多个异步请求的执行效率Promise.all()
  • python isinstance(True, int)
  • Web_前端_HTML入门学习的案例案例1
  • 《动手学深度学习》中d2l库的安装以及问题解决
  • 免费送源码:Java+Springboot+MySQL Springboot多租户博客网站的设计 计算机毕业设计原创定制
  • 深度学习:transpose_qkv()与transpose_output()
  • taro框架h5项目打包后页面空白 解决办法