解决如下问题:

  • 需要批量导入图片到Excel
  • 图片放在一个文件夹中
  • 图片有严格的顺序关系,即按照:共通名_编号的方式命名。
  • 图片格式统一,即均为同一格式。

有两种方式可以插入图片到Excel中,其一为插入快捷方式,在自己的电脑可以显示,但在别人的电脑显示不了。

其二为添加图片到文件,也有几种保存方式,可以选择。

> 现约定:
  • 图片文件夹为PicPath
  • 图片的共通名为PicComName
  • 图片导入到Excel的InstLine and InstCol 单元格中
  • 图片的间隔行为AddLine
  • 图片的宽,高分别为PicWit and PicHgt
  • 最小/大编号数字:MinNum/MaxNum
  • 数字格式:FormatNum(例如:1用0001表示,即数字为4位,不足4位用0补齐。)
  • 图片格式:FormatPic(例如:jpg,png等)

第一种方式

插入链接

    Sub InsertImg()
‘此处省去变量申请
Dim Index As Integer
Dim PicName As String
For Index = MinNum To MaxNum
RangeIset = InstCol & InstLine
PicName = PicPath & "\" & PicComName & Format(Index,FormatNum) & "." & FormatPic
Range(RangeIset).Select
ActiveSheet.Pictures.Insert(PicName).Select
’如果是一溜排下来,就讲AddLine设置为1,其他同理,主要是要适用非一个单元格一个图片的情况。
InstLine = InstLine + AddLine
Next
End Sub

以上是插入图片的一种方式,但是该图片只在自己电脑可见,那么怎么样才能将图片与文档一起保存?

第二种方式

插入图片

以上的变量均沿用

  • 第一种方案是插入链接的形式,大大减少了该文档的大小,但是,也有诸多限制,本方案是直接将图片保存在Excel中,同样也有很多限制。适用于不同的需求。
    Sub InstSavePic()
'基本骨架沿用,变量声明取消。
For Index = MinNum To MaxNum
RangeIset = InstCol & InstLine
PicName = PicPath & "\" & PicComName & Format(Index,FormatNum) & "." & FormatPic
Range(RangeIset).Select
With ActiveCell
ActiveSheet.Shapes.AddPicture Filename:=PicName, _
LinkToFile:=msoFalse , SaveWithDocument:=msoTrue, _
Left:=.Left, Top:=.Top, Width:=PicWit, Height:=PicHgt
End With
’如果是一溜排下来,就讲AddLine设置为1,其他同理,主要是要适用非一个单元格一个图片的情况。
InstLine = InstLine + AddLine
Next
End Sub

这里说明以下AddPicture的几个参数,分别表示说明意思。

AddPicture的原型为expression.AddPicture(FileName, LinkToFile, SaveWithDocument, Left, Top, Width, Height

其中

  • FileName

    • 文件名(包含地址)
  • LinkToFile:图片和文件的关系
  • SaveWithDocument:保存文档时与图片的关系
  • Left : 图片的左段离左边线的距离
  • Top : 图片的顶端离顶端的距离
  • Width : 图片的宽度
  • Height:图片的高度。
    • 以上以为单位
说明:
Left:=.Left表明插入图片的坐边线和该活动单元格的左边线的距离一样。同理Top
当然也可以将图片填充为一个单元格。
Width:=.Width(同理Height)即可。

若不明白可以百度AddPicture.

--20160218

【VBA】批量插入图片的更多相关文章

  1. Python多线程Threading爬取图片,保存本地,openpyxl批量插入图片到Excel表中

    之前用过openpyxl库保存数据到Excel文件写入不了,换用xlsxwriter 批量插入图片到Excel表中 1 import os 2 import requests 3 import re ...

  2. EPPlus批量插入图片到Excel

    #region 测试EPPlus插入图片        public static void Createsheel2()        {                      WebClien ...

  3. VBA批量导入图片到多Word文档并加标题(会飞的鱼)

    感谢会飞的鱼大牛~ Public fp$, obmapp As Object Sub kk() 文件夹浏览器 Application.ScreenUpdating = False Set fso = ...

  4. 20170813pptVBA批量插入图片

    Sub AddSldIn() Dim Pre As Presentation Dim NewSld As Slide Set Pre = Application.ActivePresentation ...

  5. Excel催化剂开源第40波-Excel插入图片做到极致的效果

    不知道是开发人员的自我要求不高还是用户的使用宽容度足够大,在众多Excel插入图片的版本中,都没有考虑到许多的可大幅度提升用户体验的细节处理. Excel催化剂虽然开发水平有限,但也在有限的能力下,尽 ...

  6. 个人永久性免费-Excel催化剂功能第89波-批量多图片转PDF

    前一篇展示了从PDF中提取到有用信息如图片.文本.表格等功能,部分人可能对自己手中的转PDF格式的保护性有所顾虑,此篇从反向角度,提供数据保护作用,让PDF文件的数据保护更彻底,让文本型的PDF文件彻 ...

  7. 个人永久性免费-Excel催化剂功能第32波-空行空列批量插入和删除

    批量操作永远是效率提升的王道,也是Excel用户们最喜欢能够实现的操作虽说有些批量操作不一定合适Excel的最佳实践操作,但万千世界,无奇不有,特别是在国人眼中领导最大的等级森严的职场环境下.Exce ...

  8. word 2013 题注、图注、插入图片自动修改大小、批量更新题注编号

    1 .题注 图片下面的文字说明,如  图 1.1.1 2.图注 图的标题格式,可以右键修改段落为居中,选中图片,点下此格式快捷居中等其他格式 3. 题注插入 效果 如下 4.题注自动居中对齐 先点击图 ...

  9. java插入图片到数据库(可以批量)

    package sundun.zfpt.gg.web; import java.io.File; import java.io.FileInputStream; import java.sql.Con ...

随机推荐

  1. WinForm------TextEdit控件去掉换行符

    //将换行转为空格 string str = this.DetailEdit.Text.Replace("\r\n"," ");

  2. STL vector用法介绍

    STL vector用法介绍 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和f ...

  3. ecshop程序结构说明

    文件夹说明 名称 备注(作用或意义) 根目录 前台程序文件 admin 后台程序文件 admin/help 功能的帮助文件 admin/images 后台页面用图片 admin/includes 后台 ...

  4. adobe photoshop cc 2014 安装失败 解决办法之一

    首先安装失败会有提示 首先贴下错误信息 Exit Code: 34 Please see specific errors below for troubleshooting. For example, ...

  5. Effective Objective-C 2.0 — 第二条:类的头文件中尽量少引入其他头文件

    第二条:类的头文件中尽量少引入其他头文件 使用向前声明(forward declaring) @class EOCEmployer 1, 将引入头文件的实际尽量延后,只在确有需要时才引入,这样就可以减 ...

  6. Java中的LookAndFeel

    Java'中的几种Look and Feel1.Metal风格 (默认)String lookAndFeel = "javax.swing.plaf.metal.MetalLookAndFe ...

  7. visio2007使用记录

    安装时, 需要有选择性的安装, 不是所有的组件 都需要安装, 如office工具, office共享功能, visio中的.net可编程支持就用不着安装.... visio中的cad(加载项), 可以 ...

  8. 配置 nginx server 出现nginx: [emerg] "root" directive is duplicate in /etc/nginx/server/blogs.conf:7

    在配置nginx 虚拟机时,执行 sudo /usr/sbin/nginx -t 报下面的错误: nginx: [emerg] nginx: configuration file /etc/nginx ...

  9. bestcoder Round #7 前三题题解

    BestCoder Round #7 Start Time : 2014-08-31 19:00:00    End Time : 2014-08-31 21:00:00Contest Type : ...

  10. C语言动态内存分配

    考虑下面三段代码: 片段1 void GetMemory(char *p) { p = (); } void Test(void) { char *str = NULL; GetMemory(str) ...