Excel VBA:SendKey保存PDF

Excel VBA:SendKey保存PDF,excel,vba,pdf,save,Excel,Vba,Pdf,Save,我正在尝试在不使用Acrobat的情况下打开、输入数据、保存和关闭PDF表单。我已经知道了如何打开和输入数据,但是我很难知道如何保存。我希望能够使用SendKeys导航以更改文件的路径和名称,但不知道如何访问其中任何一个 代码: 当我手动“另存为”时,“文件名”会突出显示,这让我觉得我可以只发送一个新文件名,然后发送一个Enter键进行保存,但新文件名永远不会到达它应该到达的位置。首先,在Application.SendKeys“new File Name”行中似乎有一个输入错误,。您的意思是A

我正在尝试在不使用Acrobat的情况下打开、输入数据、保存和关闭PDF表单。我已经知道了如何打开和输入数据,但是我很难知道如何保存。我希望能够使用SendKeys导航以更改文件的路径和名称,但不知道如何访问其中任何一个

代码:


当我手动“另存为”时,“文件名”会突出显示,这让我觉得我可以只发送一个新文件名,然后发送一个Enter键进行保存,但新文件名永远不会到达它应该到达的位置。

首先,在
Application.SendKeys“new File Name”行中似乎有一个输入错误,
。您的意思是
Application.SendKeys“New File Name”,True
,或者末尾有一个额外的逗号

键入名称后,通常必须按“保存”按钮或按enter键才能提交保存对话框。如果在此之前退出PDF应用程序,它将不会被提交,文件也不会被保存

为此,您可以在键入文件名的行后添加
Application.SendKeys“~”,True
(或
Application.SendKeys“{ENTER}”,True
,相当于按数字键盘上的ENTER键)

旁注:如果你能找到另一种方法,我建议不要使用SendKeys。SendKeys不可靠,有时密钥无法正确注册,因此使用时要小心

        Application.SendKeys "+^(s)", True 'Saves
        'Application.Wait Now + 0.00001
        Application.SendKeys "New File Name", 'Attempts to send new file name but doesn't.
        'Application.Wait Now + 0.00001

        Application.SendKeys "^(q)", True 'closes the PDF reader.