如何实现图片填满单元格
大家可能经常需要在工作表单元格中插入图片,为了满足OCD领导的要求,图片一定要占满整个单元格,也就是这个效果。
天有不测风云,我有录制宏法宝,祭出法宝收了这妖孽需求。
依次点击【插入】>【图片】>【此设备】,选择本地图片,调整图片尺寸,使得图片填充满A1单元格,哒哒,揍是这么简单。
Sub 宏1()ActiveSheet.Pictures.Insert("C:\Temp\xmas-sq.jpg").SelectSelection.ShapeRange.ScaleWidth 0.1803221656, msoFalse, msoScaleFromTopLeftSelection.ShapeRange.ScaleHeight 0.1803221656, msoFalse, msoScaleFromTopLeft
End Sub
给领导交差前,再测试一下,删除图片,选择A1单元格,运行录制的宏代码,这是什么鬼,图片怎么变成这么小一丢丢了。
研究一下代码,法宝有时也会掉链子,ScaleWidth 0.18
将图片缩小为原尺寸的0.18,ScaleHeight 0.18
将图片再次缩小0.18,注意此时不是原始图片尺寸的0.18,而是ScaleWidth缩放后的图片的0.18,实际上图片缩小为0.18 * 0.18 = 0.0324。
既然找到了原因,DIY一下,再次测试法宝,这次的结果没有问题了,ScaleWidth和ScaleHeight保留任何一行,效果都是相同的。
Sub 宏2()ActiveSheet.Pictures.Insert("C:\Temp\xmas-sq.jpg").SelectSelection.ShapeRange.ScaleWidth 0.1803221656, msoFalse, msoScaleFromTopLeft'Selection.ShapeRange.ScaleHeight 0.1803221656, msoFalse, msoScaleFromTopLeft
End Sub
换个图片再次测试,又出幺蛾子了,怎么不是填满的效果!
Sub 宏3()ActiveSheet.Pictures.Insert("C:\Temp\xmas.jpg").SelectSelection.ShapeRange.ScaleWidth 0.1803221656, msoFalse, msoScaleFromTopLeft'Selection.ShapeRange.ScaleHeight 0.1803221656, msoFalse, msoScaleFromTopLeft
End Sub
据传,法宝(录制宏的代码)需要优化一下,才能降妖伏魔,先用录制宏时插入的图片验证一下,在代码中直接设置图片的Height
和Width
属性,分别等于A1单元格的高度和宽度。运行一下代码,效果杠杠的。
Sub Demo1()[a1].SelectWith ActiveSheet.Pictures.Insert("C:\Temp\xmas-sq.jpg").Height = [a1].Height.Width = [a1].WidthEnd With
End Sub
换个图片继续测试,仍然是惨不忍睹的效果。
Sub Demo2()[a1].SelectWith ActiveSheet.Pictures.Insert("C:\Temp\xmas.jpg").Height = [a1].Height.Width = [a1].WidthEnd With
End Sub
为啥呢?研究一下这两个图片的区别,其分辨率不同,Xmastree是正方形图片,xmas并不是正方形的,然而插入的图片默认“锁定纵横比”,因此xmas并不能填满单元格。
既然已经找到问题根源,那么在代码中取消锁定纵横比就可以了。
Sub Demo3()[a1].SelectWith ActiveSheet.Pictures.Insert("C:\Temp\xmas.jpg").ShapeRange.LockAspectRatio = msoFalse.Height = [a1].Height.Width = [a1].WidthEnd With
End Sub
再次运行代码,完美实现图片拉伸填满单元格。
如何实现图片填满单元格相关推荐
- Word模板设计时,如何让照片填满单元格
出处:http://u13382036813.blog.163.com/blog/static/128966032200910268114547/ 2009-09-11 20:30:04| 分类: ...
- 让图片填满Word表格里的单元格
(1)情况:让图片充満Word里的表格的单元格(如下图). (2)方法: ①选中整个表格[也可以只选中某单元格].执行:表格属性--"表格"选项卡--"选项" ...
- easypoi利用模板导出图片到Excel;解决easypoi导出图片到合并单元格单元格被拉伸的问题
easypoi的封装是非常好的,用起来很简单. 官方教程地址:http://easypoi.mydoc.io/ 但是在使用模板导出图片到合并单元格时出问题了,官网找了好几遍没找到方案. 其实官方早就实 ...
- html中的高和宽背景色怎么写,css background-size与背景图片填满div
background-size与背景图片填满div 在开发中,常有需要将一张图片作为一个div的背景图片充满div的需求 background-size的取值及解释 background-size共有 ...
- php单元格字体颜色,PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽...
PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽 2020-08-31 85 一:读取excel表模板$ph ...
- html 图片 填充方式,css怎么让图片填满?
在css中,可以将div的高度和宽度属性设置为100%,同时使用background-size属性设置背景图片为100%,便可以实现背景图片铺满屏幕. css怎么让图片填满? 1.新建一个HTML文件 ...
- 如何用纯CSS将图片填满div,自适应容器大小
如何用纯CSS将图片填满div,自适应容器大小 2016-10-11 13:33 网页设计 标签:css 代码 5987 3 我有一个模板,想按常规做一个div里面放置一个img图 ...
- CSS —— 背景图片填满DIV、鼠标滑过放大图片
1.让背景图片填满DIV 应用background-size属性可以设置背景图片填满整个div,background-size取值及解释如下: (1)background-size:cover MDN ...
- html添加背景图片并且填满div,css background-size与背景图片填满div(示例代码)
background-size与背景图片填满div 在开发中,常有需要将一张图片作为一个div的背景图片充满div的需求 background-size的取值及解释 background-size共有 ...
最新文章
- 第2关:实现一个链接存储的栈
- 基于SSM实现校友录管理平台
- Lync Server 2010迁移至Lync Server 2013部署系列21:Lync 2013边缘第二台服务器配置
- java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams
- Python 变量作用域
- 【bayes】贝叶斯likelihood和model
- 从方法返回Java 8的可选项时的注意事项
- 解决浏览器跨域加载本地文件报错 Access to script at ‘xxx‘ from origin ‘null‘ has been blocked by CORS policy
- linq判断集合中相同元素个数_java----Collection集合常用方法
- swift可选隐式可选类型
- c/c++_消除非标准警告
- C语言学习资料汇集 助你成为更好的程序员
- Linux 常用软件
- 睡眠伤害计算机硬件吗,电脑高手告诉您,电脑不关机只睡眠到底伤不伤硬盘?...
- 在ECS中安装Docker在内部访问RDS数据库
- 矩阵分析与应用-05-向量空间、内积空间与线性映射02
- Android UI个性style
- TensorRT8——ONNX转trt
- 杨毅-kafka集群部署
- XBOX360更新游戏封皮(FSD自制系统)