【问题标题】:Save Acrobat Reader File programmatically以编程方式保存 Acrobat Reader 文件
【发布时间】:2016-10-16 15:09:56
【问题描述】:

我需要一些有关 Windows 消息的帮助。 下面的代码从 Excel VBA 执行,并使用 Acrobat Reader DC 打开任何 PDF 文件,将唤起第一个“另存为”屏幕。但是这个屏幕只有没有处理程序的按钮,我无法进入经典的“另存为”屏幕来完成我的代码。 我尝试了 Spy++ 64 并没有发现任何帮助。 Spy 7 冻结了 Excel 和 Acrobat Reader,而 Spy 32 没有在我的 PC 中运行。有没有人知道我可以使用哪些消息来完成此操作?

Declare PtrSafe Function PostMessage Lib "USER32.dll" Alias "PostMessageA" (ByVal handler As Long, ByVal mssge As Long, ByVal hword As Long, lword As Any) As Long

Declare PtrSafe Function FindWindow Lib "User32" Alias "FindWindowA"(ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long

Sub evoke_saveas()
    a = FindWindow("AcrobatSDIWindow", vbNullString)
    PostMessage a, &H100, 1, 0
    PostMessage a, &H6, 1, 0
    PostMessage a, &H111, &H1776, 0
end sub

【问题讨论】:

    标签: vba acrobat programmatically


    【解决方案1】:

    终于解决了!

    那个屏幕是 Acrobat Reader DC 用于保存文件的云服务。我按照下面的说明操作并成功了:

    https://forums.adobe.com/thread/1815625

    现在我可以使用我发布的代码从 Acrobat Reader DC 调用经典的“另存为”。

    【讨论】:

    • 通常需要包含链接答案的内容,而不仅仅是链接(可能会过期)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    相关资源
    最近更新 更多