VBA如何在Excel2007中插入图片

xingzhiyun 2008-05-21 11:03:18
原来在Excel2003下用VBA插入图片,正常,代码如下:
ActiveSheet.Pictures.Insert("http://"+location.host+picname).Select;
但是在Excel2007中就不能工作了,在Excel2007中录制宏,手工插入图片,看不到VBA代码,这是怎么回事.
...全文
530 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kris2010 2008-05-22
  • 打赏
  • 举报
回复
使用 ActiveSheet.shapes.addpicture
xingzhiyun 2008-05-22
  • 打赏
  • 举报
回复
找到解决办法了,
使用菜单 插入一个矩形(默认名字是Rectangle 1),执行代码

sheet.Shapes("Rectangle 1").Fill.UserPicture("http://192.168.194.1/dfzx/C1WebChartTemp/a2031052-fc04-41c2-92d6-89a0620c82e9.png");

可以用这个图片填充矩形,需要放大或缩小的时候,这么做很好,而且对于http图片无论2003还是2007都能正常运行
以前用Excel2003做了些宏,在网上还有不少粉丝,因一些功能在Excel2010无法使用,故重新整理,欢迎指正; 本Excel的宏在Excel2010测试表现出色; 运行宏前,要保证EXCEL没有禁用宏。 Michael Ho QQ: 9900060 ----------------------- 本Excel有以下功能: 插入图片1 1.点击执行后,会出现文件夹选择窗,请选择你JPG图片所在文件夹(选择“文件夹”而不是选择文件); 2.宏会自动复制Sheet2到新工作簿,并插入你所选文件夹的全部JPG图片到B列,对应的图片名自动填到C列; 3.图片的大小会自动适应Sheet2的B3单元格,因此可以在点击执行前调整Sheet2的B3单元格的大小来控制插入图片的大小。 -------- 插入图片2 1.点击执行后,会出现文件夹选择窗,请选择你JPG图片所在文件夹(选择“文件夹”而不是选择文件); 2.宏会自动复制Sheet3到新工作簿,并插入你所选文件夹的全部JPG图片制作图册,对应的图片名自动填到图片下方; -------- 插入图片3 如果用户自己的Excel文件有一列是型号,该宏可以插入指定文件夹里以型号命名的JPG图片到另一列; 1.打开本Excel文件,不要关闭; 2.再另外打开你自己需要操作的另一个Excel文件,并保持你要操作的工作表做为当前活动工作表; 3.在你的文件按Ctrl+I (或在你的文件手动执行宏,然后选择本EXCEL文件的宏InsertPic3); 4.然后会出现文件夹选择窗,请选择你JPG图片所在文件夹(选择“文件夹”而不是选择文件); 5.在弹出的对话框指定型号在第几列,图片要插入到第几列,以及从哪一行开始; 6.图片的大小会自动适应你设定的第一行要插入图片的单元格,因此提前调整那个单元格的大小可以控制插入图片的大小。 ------------- 删除活动工作表所有图片 Ctrl+d 删除活动工作表里所有的JPG图片,(不一定是本工作簿的工作表); 1.打开本Excel文件,不要关闭; 2.再另外打开你自己需要操作的另一个Excel文件,并保持你要操作的工作表做为当前活动工作表; 3.在你的文件按Ctrl+d (或在你的文件手动执行宏,然后选择本EXCEL文件的宏DelPic); ------------- 导出活动工作表被选的一张JPG图片 Ctrl+e 导出活动工作表被选的一张JPG图片,(不一定是本工作簿的工作表); 1.打开本Excel文件,不要关闭; 2.再另外打开你自己需要操作的另一个Excel文件,并保持你要操作的工作表做为当前活动工作表; 3.请选一张要导出的图片; 4.在你的文件按Ctrl+e (或在你的文件手动执行宏,然后选择本EXCEL文件的宏OutputOnePic); 5.在弹出的对话框指定图片要保存的名字; 1.不管图片在Excel是否被缩放过,导出的图片是按图片的原始尺寸进行保存。 2.在桌面上会自动新建一个"OutputPic"的文件夹,导出的图片将会存在那个文夹里; 3.如果文件夹已有相同名字的文件,则后面导出的文件会自动加上(v1), (v2), (v3)... ------------- 导出活动工作表所有JPG图片 Ctrl+f 导出活动工作表所有JPG图片,并且图片名自动使用指定列的图片名; 1.打开本Excel文件,不要关闭; 2.再另外打开你自己需要操作的另一个Excel文件,并保持你要操作的工作表做为当前活动工作表; 3.在你的文件按Ctrl+f (或在你的文件手动执行宏,然后选择本EXCEL文件的宏OutputAllPic); 4.在弹出的对话框指定图片所在列,图片名所在的列; 1.不管图片在Excel是否被缩放过,导出的图片是按图片的原始尺寸进行保存; 2.在桌面上会自动新建一个"OutputPic"的文件夹,所有导出的图片将会存在那个文夹里; 3.如果文件夹已有相同名字的文件,则后面导出的文件会自动加上(v1), (v2), (v3)... ---------------- 对指定文件夹的JPG图片进行重命名 Ctrl+r 利用活动工作表的所有图片的旧名与新名的对照,对指定文件夹JPG图片进行重命名; 1.打开本Excel文件,不要关闭; 2.再另外打开你自己需要操作的另一个Excel文件,并保持你要操作的工作表做为当前活动工作表; 3.在你的文件按Ctrl+r (或在你的文件手动执行宏,然后选择本EXCEL文件的宏RenamePic); 4.在弹出的对话框指定图片旧名所在列和图片新名所在的列; 1.可以结合插入图片的宏,将所有图片的旧名输入到Excel,再在另一列填上新图片名,然后使用该宏。 2.如果顺利运行,会在原来那个文件夹下面新建一个叫“New”的子文件夹,所有重命好名的图片会自动放入子文件夹里; 3.如果文件夹已有相同名字的文件,则后面的文件会覆盖原来的文件。
Excel自动插入图片 看到网上老是有人询问Excel自动插入图片的问题,刚好自己也很需要。看了看别人给出的答案,没有比较理想的方案,做了这3个文件,相信对外贸业务员或其它经常需要在Excel插入图片的人非常有用。 1.自动插入当前文件夹所有图片到B列并将图片名填入A列.xls 2.自动插入当前文件夹所有图片和图片名制作目录快捷键ctrl+i 3.自动根据A列型号插入当前文件夹用型号命名的jpg图片到B列.xls 注: 1.要能正常使用这些文件时,Excel的宏的安全性级别不能为低,请放心这些宏是用来完成上述任务,并非病毒。 2.文件与图片必须在同一个文件夹. 3. Ctrl+i插入图片,Ctrl+d 删除文档所有图片. 4.图片必须是jpg文件,如果你通常是使用其它格式的图片,可以告诉我,稍作调整。 5.在发给客户和他人之前,请将Sheet1复制到新的Excel文件,用新的文件发给他人,这样新文件就不会含有宏代码,以免别人误认为你的文件有病毒。 6.如果插入较多的图片,可能导致Excel文件很大!您可以在Excel按以下两种方式压缩图片: (1)按顺序点击菜单:文件->另存为->工具-压缩图片" (2)右键点击图片;在快捷菜单上选择显示或隐藏 '图片' 工具栏;点击 '图片' 工具栏上的 '压缩图片' 命令;选择 '应用于文档所有图片' 后,单击确定。 Michael Ho 54mikeho*sohu.com QQ:9900060 2010年

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧