解决如下问题:

  • 需要批量导入图片到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. rdesktop in linux

    rdesktop -f -a 16 -u administrator -p passwrod feelamcheung 192.168.0.2:8080

  2. CentOS编译安装NodeJS+Express

    NodeJS是基于Chrome’s Javascript runtime,也就是Google V8引擎执行Javascript的快速构建网络服务及应用的平台,其优点有: 在CentOS编译安装Node ...

  3. centos'的yum安装php的memcache扩展

    centos'的yum安装php的memcache扩展 博客分类: linux   让php能使用memcached服务的扩展有两种:memcache 和 memcached 1. 先安装libmem ...

  4. 20145212 《Java程序设计》第7周学习总结

    20145212 <Java程序设计>第7周学习总结 教材学习内容总结 时间的度量 格林威治时间(GMT):通过观察太阳而得,因为地球公转轨道为椭圆形且速度不一,本身自传减速而造成误差. ...

  5. Java——下拉列表框:JComboBox

    import java.awt.Container; import java.awt.GridLayout; import java.awt.event.WindowAdapter; import j ...

  6. 【ZeroClipboard is not defined】的解决方法

    参考:http://www.cnblogs.com/jfw10973/p/3921899.html https://github.com/zeroclipboard/zeroclipboard 近期该 ...

  7. LOD

    [教程] 三分钟了解LOD在游戏里面的运用 http://www.narkii.com/club/thread-321290-1.html Unity3d 游戏场景优化 - LOD(Level-of- ...

  8. mysql 索引及其原理

    mysql 索引 KEY与INDEX的区别: KEY is something on the logical level, describes your table and database desi ...

  9. Map静态键值对

    private final static Map<String,String> map = new HashMap<String, String>(); static { // ...

  10. asp.net mvc 4 高级编程学习笔记:第三章 视图(1)

    1.基础规则 视图的职责是向用户提供用户界面. 视图位于View目录下:有普通的需要控制器渲染的视图,有局部视图,有布局视图等各种视图. 2.视图渲染 控制器默认情况下渲染与控制器同名的目录内的与Ac ...