关注微信公众号:VBA168,回复“批量导入pdf文件”,获取文件下载链接。


如图1所示,"BOM-01.xlsx"工作簿中的Sheet1工作表根据B列图号单元格中的内容,在图2所示的文件夹中找到对应的PDF文件,然后嵌入到相应的N列,双击N列中所示的图标,会打开PDF文件,是源文件的副本,即删除源文件,也可以打开N列的文件。

图1 根据B列的图号在N列嵌入对应的PDF文件

图2 PDF文件

图3 文件格式

Sub 导入文件()Application.ScreenUpdating = False'禁止屏幕更新Application.DisplayAlerts = False'禁止弹出对话框Dim fil As String, fn As StringDim wb As WorkbookDim sht As WorksheetDim RWidth As Long, RHeight As LongDim Obj As ObjectRWidth = 40RHeight = 60Set wb = Workbooks.Open(ThisWorkbook.Path & "\BOM-01.xlsx")Set sht = wb.Worksheets(1)sht.Columns("N:N").ColumnWidth = RWidthDim Str1 As StringDim FileName As StringFileName = Dir(ThisWorkbook.Path & "\PDF文件\*.pdf")Dim i As Long, IRow As LongIRow = sht.Range("B10000").End(xlUp).RowDo While FileName <> ""For i = 4 To IRowStr1 = Trim(sht.Cells(i, 2).Value)If InStr(FileName, Str1) And Str1 <> "" Thensht.Cells(i, "N").RowHeight = RHeightsht.Cells(i, "N").Selectfn = ThisWorkbook.Path & "\PDF文件\" & FileNamesht.OLEObjects.Add FileName:=fn, _link:=False, _DisplayAsIcon:=True, _IconFileName:="C:\windows\Installer\{AC76BA86-1033-FFFF-7760-0E0F06755100}\_PDFFile.ico", _iconindex:=0, _iconlabel:=fnExit ForEnd IfNextFileName = Dir '用dir函数取得其他文件名,并赋给变量Loopwb.SaveApplication.ScreenUpdating = TrueApplication.DisplayAlerts = TrueEnd Sub

OLEObjects.Add方法向工作表中添加新的 OLE 对象。其语法格式如下。

表达式.Add(ClassType, FileName, Link, DisplayAsIcon, IconFileName, IconIndex, IconLabel, Left, Top, Width, Height)

各参数说明如下表所示。

名称 必选/可选 数据类型 说明
ClassType 可选 Variant (必须指定 ClassType 或  FileName)。一个字符串,包含要创建的对象的程序标识符。如果指定了 ClassType 参数,则忽略  FileName 和 Link
FileName 可选 Variant (必须指定 ClassType 或 FileName)。一个字符串,指定用于创建 OLE  对象的文件。
Link 可选 Variant 如果为 True,则让基于 FileName 的新 OLE  对象链接到该文件。如果该对象未链接到文件,则该对象被创建为文件副本。默认值是 False
DisplayAsIcon 可选 Variant 如果为 True,则以图标或正常图片方式显示新的 OLE 对象。如果该参数设置为  True,则可以使用 IconFileName 和 IconIndex 来指定图标。
IconFileName 可选 Variant 一个字符串,指定要显示的图标所在的文件。仅当 DisplayAsIcon 为 True  时,才使用该参数。如果不指定该参数,或文件中不包含图标,则使用 OLE 类的默认图标。
IconIndex 可选 Variant 图标文件中包含的图标数目。仅当 DisplayAsIcon 参数为 True 并且  IconFileName 参数引用包含图标的有效文件时,才使用该参数。如果由 IconFileName  参数指定的文件中不存在具有指定索引号的图标,则使用该文件中的第一个图标。
IconLabel 可选 Variant 一个字符串,指定在图标下方显示一个标签。仅当 DisplayAsIcon 为 True  时,才使用该参数。如果省略该参数,或者该参数为空字符串 (""),则不显示任何标题。
Left 可选 Variant 以磅为单位给出新对象的初始坐标,该坐标是相对于工作表上单元格 A1  的左上角或图表的左上角的坐标。
Width 可选 Variant 以磅为单位给出新对象的初始大小。

微信公众号:VBA168

淘宝店铺地址:https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-21233576391.4.1af0683dzrx3oU&id=584940166162

关注微信公众号,每天及时接收Excel VBA经典示例讲解。

淘宝店铺提供Excel定制服务。

祝你工作和学习更轻松!

ExcelVBA批量添加PDF文件相关推荐

  1. 批量给 PDF 文件的末尾添加一个新页面

    概要:我们有时候需要批量给 PDF 文件的末尾添加一个新的页面,比如说我们需要给最后一页添加一个联系页面等.对于 PDF 这种文件格式来说,我们还需要安装额外的编辑软件,但是这里不需要安装专业的 PD ...

  2. 如何批量给pdf文件添加文字水印?

    工作中我们会给重要的办公文件文件水印,给文件加上公司的名称等,这样可以有效防止文件内容被别人盗用抄袭,其中就包括word.Excel.PPT.图片.PDF等文件.PDF文件由于其特殊性,越来越成为最常 ...

  3. 如何批量给pdf文件命名?

    如何批量给pdf文件命名?不知道大家有没有发现,现在很多的文件都是pdf格式的,不管客户发给你的或者你要发给客户的文件,我们都会使用pdf格式,有时候可能因为工作的特殊性,可能会产生很多的pdf文件, ...

  4. 如何批量压缩pdf文件到最小

    如何批量压缩pdf文件到最小?不知道大家是不是和我一样,电脑用久了之后里面保存了很多的pdf文件,而且由于pdf文件中包含太多的图片使得体积非常的大,导致占用了很多的电脑存储空间.为了缓解这种情况,我 ...

  5. 迅捷在线压缩批量压缩PDF文件的方法是什么

    PDF文件现在越来越多的用于人们的工作与生活,工作和生活中都会有一些需要保密的文件.PDF文件现在之所以这么大众化的使用就是源于它的安全保密性,但是也是安全保密性导致PDF文件不易压缩,那么有什么方法 ...

  6. python批量提取pdf的数据_Python批量提取PDF文件中文本的脚本

    本文实例为大家分享了Python批量提取PDF文件中文本的具体代码,供大家参考,具体内容如下 首先需要执行命令pip install pdfminer3k来安装处理PDF文件的扩展库. import ...

  7. 如何批量删除PDF文件中的页面

    当我们想要批量删除PDF文件中的页面时,我们需要怎么做呢?在工作中,PDF文件是很常见的,当我们在使用PDF文件时,想要删除PDF文件中的页面需要怎么做.今天小编就给大家介绍批量删除PDF文件中页面的 ...

  8. Python3,9行批量提取PDF文件的指定内容,这种操作,保证人见人爱....

    批量提取PDF文件指定内容 1.引言 2.代码实战 2.1 介绍 2.2 安装 2.3 实例 3.总结 1.引言 小屌丝:鱼哥, 你有没有什么办法,提取PDF文档的内容. 小鱼:这个还问我?? 小屌丝 ...

  9. 盘点一个批量提取pdf文件目标信息的实用案例

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 你若盛开,清风自来. 大家好,我是 ...

最新文章

  1. ASP.NET中常用功能代码总结(5)——文件操作篇
  2. Windows系统中文件解说
  3. Ioc的推荐实现方式
  4. 用计算机器提高正确率,计算机作业,正确率要90%
  5. 字符串的转换相关方法
  6. layUI使用table.reload时出现了两次请求问题
  7. 一文概述深度学习中的正则化(含Python代码)
  8. Luogu3613 睡觉困难综合征
  9. C/C++ typedef用法!
  10. 3Ds MAX 软件介绍
  11. 建行网银盾无法识别怎么办
  12. Windows10系统封装
  13. 非标产品和标准产品的区别(关于3C)
  14. Python基础,day2
  15. 百度账号因安全问题被限制登录,该如何申诉?
  16. Python爬虫新手进阶版:怎样读取非结构化网页、图像、视频、语音数据
  17. 奖金575万!81岁拓扑数学家摘得数学界诺奖「阿贝尔奖」
  18. ios系统光遇是什么服务器,光遇国际服ios版
  19. 基于c++和asio的网络编程框架asio2教程基础篇:2、各个回调函数的触发顺序和执行流程
  20. 【C++课设】21点小游戏C++

热门文章

  1. 天津化工杂志天津化工杂志社天津化工编辑部2022年第3期目录
  2. 服务器虚拟机化对应云计算的,服务器虚拟化与云计算
  3. Ant Design中Form组件重置验证条件resetFields()方法
  4. Ant Design Vue全局对话确认框(confirm)的回调不触发
  5. bp 神经网络 优点 不足_【学术论文】基于灰度共生矩阵和BP神经网络的乳腺肿瘤识别...
  6. 魅族 linux驱动下载,魅族Meizu MX Flyme手机驱动官方正式版下载,适用于手机系统-驱动精灵...
  7. Nginx代理域名证书替换失效
  8. python教材知乎_关于 Python 的经典入门书籍有哪些?
  9. s型增长的matlab曲线图,matlab拟合s型曲线
  10. 写论文自动生成参考文献的方法