Диалоговые окна Adobe "Сохранить как" - MapPoint Excel VBA
Я пытаюсь взаимодействовать с внешним диалоговым окном Acrobat через VBA.
Я использую MapPoint для создания карт, а затем сохранить их в виде файлов PDF. Все контролируется через VBA. Я использую метод "PrintOut" карт для их сохранения.
objApp.ActiveMap.PrintOut _
Title:=PDFTitle, _
PrintArea:=geoPrintFullPage, _
PrintQuality:=geoPrintQualityNormal, _
PrintOrientation:=geoPrintLandscape
Использование этой команды таким способом запускает диалоговое окно "Сохранить файл PDF как". Когда-то в прошлом мы имели дело с этой проблемой, используя функцию SendKeys для отправки {Enter} в диалоговое окно и его закрытия, но это больше не работает.
Я думаю, проблема в том, что выполнение этой команды приводит к остановке выполнения VBA, пока диалоговое окно не будет закрыто. Можно ли как-то запланировать выполнение функции Sendkeys после открытия диалогового окна? Или есть способ предотвратить приостановку выполнения VBA?
В идеале, я бы хотел избежать появления диалогового окна, но это не представляется возможным при моей текущей настройке. Указание OutputFileName при запуске команды не позволяет отображать диалоговое окно, но вызывает некоторую проблему с сохраненным файлом (его нельзя открыть и он поврежден).
Любые предложения приветствуются!
1 ответ
Можете ли вы скачать primopdf и попробовать следующее. PrimoPdf - это бесплатный драйвер печати, который позволяет сохранять в формате PDF. http://download.cnet.com/PrimoPDF/3000-18497_4-10264577.html
Option Explicit
Sub PrintToPrimoPDF()
Dim strCurrentPrinter As String
strCurrentPrinter = Application.ActivePrinter ' save the currently active printer
On Error Resume Next ' ignore errors
Application.ActivePrinter = "PrimoPDF on Ne04:" ' change to PrimoPdf
Sheet1.PrintOut ' print the sheet1
Application.ActivePrinter = strCurrentPrinter ' change back to the original printer
On Error Goto 0 ' resume normal error handling
End Sub