我试图合并使用Access 2007 VBA的2个pdf文件,我已经检查了所有的文件在正确的位置,但当我做合并PDFTK无法找到输入文件。如有任何帮助或建议,我将不胜感激。
我在下面复制了我的vba代码
Reportstring = ""
Reportstring = Environ("userprofile") & "\Documents\Datafiles\BatleyHousingSurveys\BookletinputFiles\1_BookletFrontPage.pdf" & " "
Reportstring = Reportstring & Environ("userprofile") & "\Documents\Datafiles\BatleyHousingSurveys\BookletinputFiles\2_BookletContentsPage.pdf" & " "
Reportstring = Reportstring + "Cat Output " + Environ("userprofile") & "\Documents\Datafiles\BatleyHousingSurveys\BookletinputFiles\HousingBooklet.pdf"
Shell (Environ("programfiles") & "\PDFtk Server\bin\PDFTK.exe " + Reportstring), 3为什么说找不到文件?
发布于 2020-04-23 19:40:22
PDFTK可执行文件的路径中有空格。
下面是您希望命令看起来的样子:
C:\Program Files\PDFtk Server\bin\pdftk.exeC:\Users\user\Documents\Datafiles\... (不打算粘贴到整件事情中)以下是系统实际看到的情况:
C:\ProgramFiles\PDFtk Server\bin\pdftk.exe C:\Users\user\Documents\Datafiles\...当然,没有像C:\Program这样的可执行文件,所以这就是您正在得到的错误。
您需要用引号(")包围可执行文件名,以防止空格造成问题。(您也应该将文件名包含在引号中,这只是出于习惯和良好的实践。)
下面是我应该如何编写这段代码(将代码分解成更多的行,以便以后更容易阅读和修改):
DblQuote = """" ' This is a single (") character
BaseFilePath = Environ("userprofile") & "\Documents\Datafiles\BatleyHousingSurveys\BookletinputFiles\"
FirstFilePath = DblQuote & BaseFilePath & "1_BookletFrontPage.pdf" & DblQuote
SecondFilePath = DblQuote & BaseFilePath & "2_BookletContentsPage.pdf" & DblQuote
Operations = "cat output"
OutputFilePath = DblQuote & BaseFilePath & "HousingBooklet.pdf" & DblQuote
ArgumentString = FirstFilePath & " " & SecondFilePath & " " & Operations & " " & OutputFilePath
ExecutablePath = DblQuote & Environ("programfiles") & "\PDFtk Server\bin\PDFTK.exe" & DblQuote
Shell (ExecutablePath & " " & ArgumentString), 3https://serverfault.com/questions/1013834
复制相似问题