Доступные глаголы OLEObject для документов Adobe Acrobat

Я встраиваю PDF в файл Excel, а затем использую VBA, чтобы открыть его следующим образом:

Dim objMan As OLEObject
Set objMan = ThisWorkbook.Worksheets("Public").OLEObjects.Item("Doc")
objMan.Activate

У меня проблема в том, что он открывает его в фоновом режиме, а затем пользователю необходимо вручную открыть его с панели задач, чтобы просмотреть его. При поиске какого-либо метода для OLEObject для установки фокуса или чего-то еще я наткнулся на метод Verb для OLEObjects.

MSDN утверждает, что этот метод отправляет команду OLEObject, а доступные команды «определяются исходным приложением объекта».

У меня вопрос: как определить, какие глаголы доступны для документа Adobe Acrobat?


person neelsg    schedule 26.07.2013    source источник
comment
вы также можете свернуть приложение Excel, добавив следующую строку в свой код, например: ThisWorkbook.Application.WindowState = xlMinimized. Я не думаю, что какой-либо глагол поможет в этой ситуации. Вам скорее нужно catch PDF window использовать другие методы.   -  person Kazimierz Jawor    schedule 26.07.2013


Ответы (1)


Вам не нужно использовать метод .Activate для OLEObject, если только нет особой причины, по которой вам нужно, чтобы он был Active в рабочей книге/рабочем листе. В большинстве случаев для этого нет причин.

Для встроенного PDF-файла OLEObject доступны только два Verbs:

Глаголы PDF OleObject

Когда я делаю oleObj.Verb xlVerbOpen, открывается PDF-файл с фокусом на моей машине (Win 7/Excel 2010).

Когда я делаю oleObj.Verb xlVerbPrimary, это активирует PDF, но не дает ему фокуса.

person David Zemens    schedule 27.07.2013