0

我需要一些有关 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
4

1 回答 1

0

终于解决了!

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

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

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

于 2016-10-21T13:44:27.540 回答