vba - 使用 VBA 和 Foxit 合并 pdf 文件
问题描述
我使用 Foxit Phantompdf、完整版和 ACCESS。在我们的程序中,我们必须保存多个 pdf 文件,其中一些应该在保存时合并为单个文件。这是我使用的代码;
Dim phApp As PhantomPDF.Application
Dim n1 As String
Dim n2 As String
n1 = "c:\Temp\F3769-190136-GROUPE OCÉAN.pdf"
n2 = "c:\Temp\f3769-190136-GROUPE OCÉAN- facture.pdf"
Set phApp = CreateObject("PhantomPDF.Application")
Dim phCreator As PhantomPDF.Creator
Set phCreator = phApp.Creator
***'Call phCreator.CombineFiles("c:\Temp\F3769-190136-GROUPE OCÉAN.pdf|c:\Temp\f3769-190136-GROUPE OCÉAN- facture.pdf", "c:\Temp\F3769-190136-GROUPE OCÉAN.pdf", COMBINE_ADD_CONTENTS)***
Call phCreator.CombineFiles("""c:\Temp\" & n1 & "|'" & n2 & """" & ", " & """c:\Temp\F3769-190136-GROUPE OCÉAN.pdf"""" &", COMBINE_ADD_CONTENTS)
phApp.Exit
当我尝试使用完整的文件名(粗体)时,代码可以完美运行。但是,当我尝试使用变量时,我得到一个
“参数不是可选的”
错误。有人可以帮助我吗?谢谢
解决方案
我试过了,但得到了同样的错误信息。所以我利用了当文件名是纯文本时该函数有效的事实。我将要合并的文件复制到一个临时文件夹中并重命名它们。然后在合并功能中使用重命名的文件。它工作得很好,但福昕添加了一个目录页面,我还不知道如何删除它。这是我的解决方案:
Private Sub Command4_Click()
Dim addi As String 'file to be merged to main file
Dim princi As String 'main file
Dim phApp As PhantomPDF.Application
'A temporary folder, in this case c:\t2, should be present
'In this example c:\Temp is the working folder
addi = "c:\Temp\filetomerge.pdf" 'full path of file to be merged
princi = "c:\Temp\mainfile.pdf" 'full path of main file
'fadd,pdf and fmain.pdf are the temporay files used in Foxit's function
FileCopy addi, "c:\t2\fadd.pdf" 'temporary file to be merged in temporary folder
FileCopy princi, "c:\t2\fmain.pdf" 'temporary main file in temporary folder
'Merge action
Set phApp = CreateObject("PhantomPDF.Application")
Dim phCreator As PhantomPDF.Creator
Set phCreator = phApp.Creator
Call phCreator.CombineFiles("c:\t2\fmain.pdf|c:\t2\fadd.pdf", "c:\t2\fmain.pdf", COMBINE_ADD_CONTENTS)
phApp.Exit
'Save merged file in working folder under main file name
Kill princi
FileCopy "c:\t2\fmain.pdf", princi
'delete temporary files
Kill "c:\t2\fadd.pdf"
Kill "c:\t2\fmain.pdf"
End Sub
推荐阅读
- javascript - 如何在 textField 中缩短此错误?
- c++ - C++中整数输入的数据验证
- java - 无法在 IntelliJ 中运行功能文件 - 未定义的场景
- javascript - 在 Vue 首次加载时实现动画
- pandas - 如何在 word2vec 上应用熊猫数据
- python - 为什么我的 HAAR-Cascade 模型不准确?Python + OpenCV
- c# - 2021 年的深拷贝(不可序列化的对象)
- automation - 使用番茄工作法的 Windows 10 最好的自由对焦应用程序是什么?
- python - 查找两个 pandas 数据框列之间的 Glove 相似性
- javascript - Node.js 事件循环问题