我如何使用VBA代码合并多个pdf文件

2023-12-10

我有一个包含多个 pdf 文件路径的表...现在我需要一个 VBA 代码将所有这些文件合并到一个 pdf 文件中。 注意:-要合并的 pdf 文件数量会不时变化。

Sub Combine_PDFs_Demo()
Dim i As Integer 'counter for records
Dim x As Integer
Dim strNPDF As String
Dim bSuccess As Boolean
Dim DB As Database
Dim RS As Recordset
Set DB = CurrentDb
Set RS = DB.OpenRecordset("SELECT[paths] from scantemp ")
strNPDF = CurrentProject.Path & "\request_pic\" & (request_no) & ".pdf"
RS.MoveLast
DB.Recordsets.Refresh
i = RS.RecordCount
RS.MoveFirst
Dim strPDFs() As String
ReDim strPDFs(0 To i)
strPDFs(0) = RS![paths]
RS.MoveNext
For i = 1 To i - 1
strPDFs(i) = RS![paths]
bSuccess = MergePDFs(strPDFs, strNPDF)
Next i
If bSuccess = False Then MsgBox "Failed to combine all PDFs", vbCritical, "Failed to Merge PDFs"
DoCmd.SetWarnings False
DoCmd.RunSQL "delete from scantemp" 'delete all paths from table scantemp after converted it to pdf
DoCmd.SetWarnings True
  RS.Close
    Set RS = Nothing`enter code here`

public Function MergePDFs(arrFiles() As String, strSaveAs As String) As Boolean
Dim objCAcroPDDocDestination As Acrobat.CAcroPDDoc
Dim objCAcroPDDocSource As Acrobat.CAcroPDDoc
Dim i As Integer
Dim iFailed As Integer

On Error GoTo NoAcrobat:
'Initialize the Acrobat objects
Set objCAcroPDDocDestination = CreateObject("AcroExch.PDDoc")
Set objCAcroPDDocSource = CreateObject("AcroExch.PDDoc")
 'Open Destination, all other documents will be added to this and saved with
'a new filename
objCAcroPDDocDestination.Open (arrFiles(LBound(arrFiles))) 'open the first file
 'Open each subsequent PDF that you want to add to the original
  'Open the source document that will be added to the destination
    For i = LBound(arrFiles) + 1 To UBound(arrFiles)
        objCAcroPDDocSource.Open (arrFiles(i))
        If objCAcroPDDocDestination.InsertPages(objCAcroPDDocDestination.GetNumPages - 1, objCAcroPDDocSource, 0, objCAcroPDDocSource.GetNumPages, 0) Then
          MergePDFs = True
        Else
          'failed to merge one of the PDFs
          iFailed = iFailed + 1
        End If
        objCAcroPDDocSource.Close
    Next i
objCAcroPDDocDestination.save 1, strSaveAs 'Save it as a new name
objCAcroPDDocDestination.Close
Set objCAcroPDDocSource = Nothing
Set objCAcroPDDocDestination = Nothing

NoAcrobat:
If iFailed <> 0 Then
    MergePDFs = False
End If
On Error GoTo 0
End Function
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我如何使用VBA代码合并多个pdf文件 的相关文章

  • 在 VBA 中按键对字典进行排序

    我使用 VBA 创建了一个字典CreateObject Scripting Dictionary 将源单词映射到要在某些文本中替换的目标单词 这实际上是为了混淆 不幸的是 当我按照下面的代码进行实际替换时 它将按照源单词添加到字典中的顺序替
  • 我需要代码在两行之间复制并粘贴到另一张表中,并给出任何值?

    例如 我有 50 行数据 第一行有学生的名字 我需要代码将数据从 RAM 复制到 RAMESH 在这之间我有 20 行 我需要代码来复制行并将其粘贴到另一张纸中 它不应该问我名字 默认情况下 它必须采用 RAM 和 RAMESH 名称 好的
  • Excel VBA 导出到文本文件。需要删除空行

    我有一个工作簿 使用以下脚本将其导出到文本文件 它工作正常 但是当我打开文本文件时 末尾总是有一个空行 这导致我在生成此文本文件后运行的另一个脚本出现问题 有关如何从导出中删除空行的任何帮助 Code Sub Rectangle1 Clic
  • 在 VBA 中循环合并单元格

    是否可以循环遍历合并的单元格vba questions tagged vba 我的范围内有 6 个合并单元格B4 B40 我只需要这 6 个单元格中的值 6 次迭代 上面的答案看起来已经让你排序了 如果您不知道合并的单元格在哪里 那么您可以
  • VBA XML V6.0 如何让它等待页面加载?

    我一直在努力寻找答案 但似乎找不到任何有用的东西 基本上 我是从一个网站上拉取的 当您在该页面上时 该网站会加载更多项目 我希望我的代码在加载完成后提取最终数据 但不知道如何让 XML httprequest 等待 Edited Sub p
  • 证明 Excel VBA Scripting.Dictionary 不保留项目插入顺序

    我正在尝试决定是否为我的项目使用 Excel VBA 集合或字典 出于多种原因 我倾向于字典 但在使用字典时我会继续阅读它For Each循环检索字典项目或从字典 Items 数组读取项目时 检索顺序可能不是添加项目的顺序 这对于我的应用程
  • 如何使用 SSIS 将多个 Access 数据库导入到 SQL Server

    我有一个文件夹 其中包含 300 多个 Access 数据库 由我无法控制的程序编写 它们都有相同的结构 只是一张表 我正在将数据导入到 SQL Server 2005 中的表中 使用导入向导效果很好 但它一次只能用于一个 Access 数
  • 将ADODB二进制流转换为字符串vba

    我有以下问题 我有一个存储在服务器上的 CSV 文件 但它有 3 个字符作为分隔符 我想从 URL 加载数据并使用 作为分隔符将数据填充到 Excel 页面的列中 到目前为止 我找到了使用 ADODB 记录集从网站加载文件的代码 但我无法进
  • 与 OLE 服务器或 ActiveX 控件通信

    MS Access 2010 Win 7 常规形式我没有故意放置任何 ActiveX 或 OLE 东西 甚至不确定它们是什么 但无论如何 每当我在特定形式的代码中放入某些内容时 它都会说 您作为事件属性设置输入的表达式 XXXXX 产生了以
  • 当使用公式生成超链接时,VBA 打开 Excel 超链接不起作用

    使用公式生成的 Excel 超链接似乎存在错误 我使用的是 Excel 2010 我有一个电子表格 其中的单元格包含 URL 我的目标是执行以下两件事 将这些单元格变成超链接 创建一个键盘快捷键来打开这些超链接 这样我就不必使用鼠标了 为了
  • VBA中的字符串是可以迭代的数组吗?

    VBA中字符串是数组吗 例如 我可以像在 C C 中那样迭代它吗 做这样的事情 char myArray 10 for int i 0 i lt length i cout lt lt myArray i VBA 中的等价物是什么 它的行为
  • Excel工作簿关闭后反复打开

    我使用了 Application ontime 方法来调度一些宏 关闭工作簿后 它会一次又一次地打开 为了解决这个问题 我在工作簿上设置了另一个事件 BeforeClosed 现在它显示运行时错误 1004 Object Applicati
  • 所以,我有 6 个“主”文件,然后分为 40 个单独的文件

    我将简要描述我想要的内容 我有 6 个 主 文件 每个文件包含 40 个工作表 如下所示 AG 工作簿有 HR Gp 1 到 HR Gp 40 ER 工作簿有 FB Gp 1 到 Gp 40 等 所有工作表都已 平坦 我已经成功创建了一个适
  • 支持 >65k 行的 Excel VBA SQL 驱动程序

    在 Excel 2010 中通过 VBA 查询 Excel 数据时 我遇到一个有趣的问题 我正在使用这些驱动程序连接到 xls 或 xls x m 文件 Sub OpenCon ByRef theConn As Connection ByV
  • VBA 架构技巧 - 宏封装

    我拼凑了 Excel 的概念证明 以从数据库获取数据 并需要将其打包 以便可以将其分发给我们的客户 我的第一次尝试只是将所有代码放入代码模块中 但随后在 Excel 中我可以看到宏列表中的所有模块 而我实际上只想要列表中的主要模块 我猜想我
  • 替换字符串变量中的多个字符 (VBA)

    如何替换字符串变量中的多个内容 这是我在 VBA 中的示例函数 Private Function ExampleFunc ByVal unitNr As String If InStr unitNr OE gt 0 Then unitNr
  • 捕获 Unicode 文本(西里尔文)并将其插入 MS Access 数据库

    我继承了一个旧的 Web 应用程序 该应用程序使用经典 ASP 将表单中收集的数据写入 Access 2007 数据库 现在他们需要它能够收集西里尔字母的输入 我完全不熟悉代码页 字符集 也不熟悉非拉丁字母 我尝试将输入表单页面上的字符集更
  • 如何修复日期过滤器 VBA,因为它没有拾取我范围内的所有日期

    我正在尝试创建一个过滤器来过滤掉我选择的日期内的所有日期 我选择的日期将始终反映整个月 例如 如果我需要 2019 年 5 月的数据 我将输入开始日期为 01 05 2019 结束日期为 31 05 2019 我的数据过滤器将需要选取经过我
  • 在用户窗体终止/关闭 VBA 时调用数组

    我有一个问题 我想在用户窗体关闭时将用户窗体的内容存储在数组中 我认为我的语法正确 但似乎不会在用户窗体初始化时重新填充 我尝试将数组放入其自己的模块中 但这也不起作用 有人愿意启发我吗 示例代码 Public Sub DPArrayStu
  • 访问数据库 LIMIT 关键字

    我试图让我的页面列表功能在 ASP 中与 Access 数据库一起工作 但我不知道 Microsoft SQL 中 LIMIT 的替代方案 我已经尝试过 TOP 但这似乎不起作用 这是 MySQL 中使用的语句 SELECT FROM cu

随机推荐

  • 如何在 C# 中枚举网络共享和 Web 文件夹?

    Net为我们提供了一个FolderBrowserDialog控件来浏览文件夹 然而 这是一个模式对话框 我需要创建一个可以拖放到表单上的用户控件 因此 我一直在考虑创建自己的 我需要在其中获取所有本地驱动器 映射的网络驱动器 UNC 共享和
  • 使用 EaselJs 制作倒计时动画

    我正在尝试使用画架模拟倒计时动画 我有一个它应该是什么样子的例子 http jsfiddle net eguneys AeK28 但它看起来像一个黑客 有没有适当 更好 灵活的方法来做到这一点 换句话说 我如何定义一条路径 并用 easel
  • Pod 在 aws eks 中使用节点组角色而不是服务帐户

    我正在使用一个服务帐户 并通过 OIDC 为其分配了角色 我在 Pod 中打开 shell 并检查当前角色 但我的服务正在做同样的事情 但它使用节点角色 Java SDK 版本 aws java sdk core 1 11 505 Pod
  • 何时决定调用带括号和不带括号的 R 函数

    我正在学习R 为什么有时 R 中的函数会用括号调用 比如myfunction vs 有时它被称为没有myfunction 我如何知道何时使用括号跟注而不使用括号 我在 tidyverse 中看到很多没有括号的函数调用 Answer reco
  • PowerShell 窗口阻止关闭

    如果我显示 PowerShell 窗口 在 PowerShell 命令提示符处 它会阻止计算机关闭 IE 如果我打开 PowerShell 窗口 然后尝试关闭服务器 我会收到 结束程序 弹出窗口 提示 Windows 无法结束此程序 如果从
  • 如何连接到 Vault 服务器

    我想尝试一下vault 所以我配置了VAULT ADDR as echo VAULT ADDR http 127 0 0 1 8200 然后我在开发模式下启动了vault vault server dev 一切正常 我能够连接到服务器 然后
  • Pandas 的 read_excel 中逗号作为小数分隔符

    我有一个包含 119 个工作表的 Excel 文件 我想获取数据来绘制多个图表 问题在于数值以逗号作为小数点分隔符 我读到 与 read csv 不同 Pandas 中的 read excel 函数没有这个选项 我打算从某些选定的工作表中加
  • Django 1.8 和 Rest Framework 3.7 出现“导入错误:没有名为 urls 的模块”

    我正在使用 django 1 8 rest framework 3 7 7 python 2 7 12 urls py urlpatterns url r api core include core urls 核心 urls py urlp
  • 行号不显示?

    我发现我的程序存在一些问题 我使用 log4j 进行日志记录 但是 在日志文件中 所有行号都变成 对话模式如下 log4j appender file layout ConversionPattern d dd MM yyyy HH mm
  • Rcpp:将 C 数组作为 NumericMatrix 返回到 R

    include
  • IntelliJ IDEA 中创建了错误的 Manifest.mf .jar

    我正在尝试通过 IntelliJ IDEA 的 jar 工件将使用 OptaPlanner 6 0 1 库的项目打包到 jar 中 而不是包含标准的 manifest mf Manifest Version 1 0 Main Class a
  • CSS - 有两个切角的按钮[重复]

    这个问题在这里已经有答案了 大家好 我想创建一个
  • rgdal - 读取 ESRI 地理数据库 (gdb) 中的表

    我正在尝试使用 R 从 ESRI 地理数据库 gdb 读取没有几何图形的表 readOGR 抛出错误 因为没有定义几何图形 这是有意义的 library rgdal readOGR gSSURGO CO gdb mutext Error i
  • 如何创建 NSManagedObjectContext

    在 iPhone 的核心数据中 我在尝试将数据保存到NSManagedObjectContext 我相信我的问题都与我使用NSManagedObjectContext这是在多个线程中使用的 所以我想创建一个新的NSManagedObject
  • 我如何使用pyqt5中的QTextEdit显示html的所有样式(包括css的样式)

    Python 3 6 PYQT 5 12 1 我准备通过pyqt5来展示我需要的样式 并且我知道pyqt5中的QTextEdit可以很好地显示html代码 我有一些web开发经验 所以我决定使用html css来展示我的样式 但是 在 cs
  • 如何更改 TRichEdit 中某些字符的颜色? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我正在做一个 Delphi 7 项目 我必须让用户输入一个数字 向下的层 来构建圣诞树
  • 返回十六进制 UUID 作为 Django 模型 charfield 的默认值

    我尝试创建一个具有从 uuid4 生成的标识符的模型 但我想要的不是常规的 uuid 而是标识符具有十六进制 uuid 格式 不带 这是我尝试过的 class Model models Model identifier models Cha
  • 使用 SQL 搜索 DB2 进行分页的最快/最有效的方法

    现在我执行两个单独的 SQL 语句 其中一个执行SELECT COUNT 与搜索语句的标准基本相同 我不是最擅长做出这些陈述 有时有点慢 我想知道是否有更好的方法来做我所做的事情 可能只执行一条 SQL 语句并在 PHP 中执行更多工作 这
  • 为什么“密封”会影响 IDisposable 的实现?

    看完答案后here 我决定将我的课程标记为密封以简化I一次性执行 为什么sealed会影响IDisposable的实现 例如GC SuppressFinalize this 不需要调用 请解释发生了什么事 我需要能够向其他开发人员解释为什么
  • 我如何使用VBA代码合并多个pdf文件

    我有一个包含多个 pdf 文件路径的表 现在我需要一个 VBA 代码将所有这些文件合并到一个 pdf 文件中 注意 要合并的 pdf 文件数量会不时变化 Sub Combine PDFs Demo Dim i As Integer coun