Показать PDF в Excel VBA UserForm

Вопрос:Я использую Excel 2016, что может быть актуально, если ниже приведена проблема совместимости... Короче говоря, я пытаюсь отобразить PDF, встроенный в пользовательскую форму в Excel. У меня есть пользовательская форма, скажем, UserForm1. Я включил следующие дополнительные ссылки: Microsoft Visual Basic для приложений расширяемость 5.3 Библиотека типов элементов управления браузером Adobe Acrobat 1.0 Это позволяет мне

Вопрос:

Я использую Excel 2016, что может быть актуально, если ниже приведена проблема совместимости…

Короче говоря, я пытаюсь отобразить PDF, встроенный в пользовательскую форму в Excel.

У меня есть пользовательская форма, скажем, UserForm1.

Я включил следующие дополнительные ссылки:

  • Microsoft Visual Basic для приложений расширяемость 5.3
  • Библиотека типов элементов управления браузером Adobe Acrobat 1.0

Это позволяет мне добавить Adobe PDF Reader как “Дополнительный элемент управления”

Элемент управления отображается в виде заштрихованной коробки (слева внизу), но я не уверен, что это означало. Затем, если я попытаюсь добавить один из этих объектов в UserForm1 (как программно, так и в режиме конструктора), это выдаст мне ошибку

Элемент не найден

Для справки я использовал следующие строки VBA:

Dim PDFviewer As AcroPDF Set PDFviewer = PDForm.Frame1.Controls.Add(«AcroPDF.PDF.1»)

Что я взял из этой ветки форумов Adobe:

Ресурсы онлайн предполагают, что, возможно, элемент управления AcroPDF больше не поддерживается. Если так, есть ли другой способ достичь того, чего я хочу?

Лучший ответ:

В качестве альтернативы использованию AcroPDF попробуйте использовать объект WebBrowser.

Для этого требуется дополнительное управление

Microsoft Web Browser

Добавьте WeBrowser в UserForm с именем WebBrowser1

Private Sub UserForm_Click() Me.WebBrowser1.Navigate «about:blank» Me.WebBrowser1.Document.write «<HTML><Body><embed src=»»C:tempSO_Answerstest.pdf»» width=»»100%»» height=»»100%»» /></Body></HTML>» End Sub

Вы можете просто .Navigate в PDF напрямую, но, чтобы процитировать мой комментарий:

“Безопаснее использовать часть html, в зависимости от настроек компьютера, иногда прямая навигация начнет загрузку вместо отображения”.

Оцените статью
Добавить комментарий