【VBA】如何制作图片产品目录

论坛 期权论坛 期权     
Excel之家ExcelHom   2019-6-9 21:26   1560   0
如果需要制作如图 6.6所示的产品目录,因为所需图片的尺寸通常并非完全一致,因此除了插入图片,还需要调整图片的尺寸以适应“图片”列单元格的大小,使用VBA可以快速完成这一系列繁琐的操作,示例代码如下。



图 6.61    图片产品目录




源码下载链接:
https://pan.baidu.com/s/1ap7RnFdNR0blo6nUW3fACA
提取码: duia

代码解析:
  • 第6行和第7行代码选中工作表中的所有Shape对象并删除。
  • 第8行代码判断A3单元格是否有内容,如果A3是空单元格说明“产品目录”尚未录入相关产品信息,本过程将结束运行。
  • 第9行到第13行代码使用For…Next循环结构逐个插入所需花卉图片。
  • 第9行代码使用Range对象的End属性获取工作表中A列最后一个非空单元格的行号作为循环的终值,也就是产品目录中最后一条产品记录所在行的行号。
  • 第11行代码中使用Shape对象的AddPicture方法插入花卉图片,图片文件以花卉名称为文件名,扩展名为JPG,保存在工作簿所在目录中。代码中的ThisWorkbook.Path返回当前工作簿所在的目录名称。
  • AddPicture方法从现有文件创建图片并返回代表新图片的Shape对象,其语法格式如下。
  • Expression.AddPicture(Filename,LinkToFile,SaveWithDocument,Left,Top,Width,Height)
  • AddPicture方法的所有参数都是必需的。
  • Filename参数为Sting类型,用来指定要创建的图片文件的路径和文件名。
  • Left和Top参数为Single类型,代表图片左上角相对于文档左上角的水平和垂直坐标(以磅为单位)。
  • Width和Height参数为Single类型,代表图片的宽度和高度(以磅为单位)。
  • LinkToFile参数代表图片对象和其源文件之间的关系,使图片成为其源文件的独立副本则为msoFalse,建立图片与其源文件之间的链接则为msoTrue。
  • SaveWithDocument参数代表图片对象的保存方式,在文档中只存储链接信息则为msoFalse,将链接图片与该图片插入的文档一起保存则为msoTrue。如果LinkToFile参数为msoFalse,则该参数必须为msoTrue。
  • 第12行代码取消图片的锁定纵横比,以便于适应单元格大小。Shape对象的LockAspectRatio属性用来返回或设置调整形状大小时其纵横比是否可以改变,调整大小时其原始比例不变则为True;如果形状的高度和宽度可以分别更改,则为False。
  • 第16行和第17行代码释放对象变量所占用的系统资源。
  • 运行InsertPictures过程,在工作表的“图片”列将插入花卉图片,并自动调整图片的尺寸以适应单元格大小,如图 6.6所示。



由北京大学出版社出版、ExcelHome精心打造的《Excel VBA 经典代码应用大全》一书,内容侧重于Excel VBA 的经典用法及其代码讲解,旨在帮助Excel VBA 初学者和具备一定VBA 应用基础希望进阶学习的广大读者。全书精选了大量经典实例,辅以深入浅出的代码讲解剖析,力求让更多希望深入学习Excel VBA 的读者能够有更大的收获。
  
复制这段描述

¥CMe2bIyMHwh¥

后打开手机淘宝即可购买本书
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:800
帖子:160
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP