我已经找到了几篇关于使用Adobe Acrobat合并来自VBA的PDF的文章(在我的例子中是MSAccess
当我讲到这个的时候
Set objCAcroDoc = CreateObject("AcroExch.PDDoc")
我得到这样的错误:“没有这样的接口支持”
我正在使用Adobe Acrobat DC,我已经重新安装了几次(是建议的修复之一),但我仍然无法通过这个错误,任何帮助将非常感谢。其他人以前见过这个吗?
这是我看过并使用过的许多例子中的几个。
发布于 2021-10-13 08:30:32
好的,首先,你的三个例子是Adobe Acrobat -付费版本,而不是你在这里使用的免费adobe DC阅读器。
但是,您可以在此处尝试我的代码:
它不需要adobe,甚至不需要在目标计算机上安装特殊软件。您必须包含3个小型.dll文件,但它们不需要“安装”,只需将它们放在运行access accDB文件的同一文件夹中即可。
因此,合并pdf‘的代码如下所示:
Dim MyPdf As Object
Set MyPdf = CreateObjectNET("Pmerge.dll", "Pmerge.Pmerge")
MyPdf.Add CurrentProject.Path & "\a.pdf"
MyPdf.Add CurrentProject.Path & "\b.pdf"
' set output file to merge above list to
MyPdf.OutPutDoc = CurrentProject.Path & "\ab.pdf"
MyPdf.Merge ' merge the files
Debug.Print "done"
因此,您只需创建pdf对象,为其提供一些文件,并设置输出文件,然后进行合并,就完成了。
示例中还有一个示例表单,它只允许您选择文件并合并,但它的功能与上面的代码几乎相同。
因此,示例表单如下所示:
所以这是纯VBA代码。即使没有安装任何pdf阅读器,这也可以在计算机上运行。
你可以在这里找到我的示例代码:
http://www.kallal.ca/Articles/Pdf/Merge.html
无论如何,你根本不清楚你使用的是哪个Adobe产品,但是免费的adobe DC pdf阅读器没有pdf合并功能。您需要运行付费版本的Adobe acrobat,而不是免费的DC阅读器。
但是,如果上面的示例对您有效,这真的无关紧要。它不需要任何访问权限,也不需要安装任何专门的第三方工具即可运行此示例。
另一个额外的好处是,这个pdf merge还支持office x64版本,运行Access x32或Access x64版本不需要更改代码。
https://stackoverflow.com/questions/69545789
复制相似问题