Как использовать VBA для открытия и печати файла PDF
Visual Basic для приложений (VBA) — это язык программирования, используемый с Microsoft Office для выполнения динамических задач приложениями, одной из которых является открытие и печать PDF-файлов. Для выполнения этой задачи вам потребуется базовое понимание языка VBA и редактора VBA, который устанавливается с каждой версией программ Microsoft Office. Этот код можно использовать для любого приложения Microsoft Office.
Шаг 1
Откройте редактор VBA в приложении Microsoft Office, в которое вы хотите ввести код. Нажмите «Файл»> «Инструменты»> «Макросы»> «Редактор Visual Basic» в приложении Microsoft Office 2003 или более ранней версии. Щелкните вкладку "Разработчик"> "Visual Basic" в выпуске Microsoft Office 2007.
Шаг 2
Щелкните в любом месте окна кода, куда вы хотите вставить код.
Шаг 3
Добавьте код, чтобы открыть файл PDF. Ваш код должен выглядеть примерно так:
Sub OpenPDF() Dim strPDFFileName As String 'Редактировать, чтобы добавить полное имя файла в PDF-файл, который вы хотите открыть strPDFFileName ="C:\examplefile.pdf" 'Эта следующая функция проверяет, не открыт ли файл. Not FileLocked(strPDFFileName) Then 'Если он возвращает False, продолжайте открывать PDF-файл Documents.Open strPDFFileName) End If End Sub
Скопируйте и вставьте этот код в окно кода. Единственная часть кода, которую вам нужно будет изменить, — это полный путь к файлу PDF, который вы хотите открыть. Итак, замените "C:\examplefile.pdf" своим собственным путем и именем файла.
Шаг 4
Добавьте код для печати файла PDF. Код печати:
Sub PrintPDF (strPDFFileName как строка) Dim sAdobeReader as String 'Это полный путь к приложению Adobe Reader или Acrobat на вашем компьютере sAdobeReader ="C:\Program Files\Adobe\Acrobat 6.0\Reader\AcroRd32.exe" RetVal =Shell (sAdobeReader &"/P" &Chr(34) &sStrPDFFileName &Chr(34), 0) End Sub
Единственная часть этого кода, которую необходимо изменить, — это полный путь к Adobe Reader, Acrobat или любой программе для чтения PDF-файлов на вашем компьютере.
Шаг 5
Используйте триггер для вызова функций. Так код узнает, когда его выполнять. Используйте любой триггер, который вы хотите; форма, кнопка, флажок или другой элемент формы. Например, используйте объявление «Click» кнопки. При нажатии кнопки документ PDF откроется, а затем распечатается. Код выглядит так:
Sub CommandButton_Click() 'Сначала вызовите функцию открытия, чтобы PDF-файл мог открыться перед печатью Call OpenPDF 'Теперь вызовите функцию печати, чтобы можно было распечатать PDF-файл Call PrintPDF End Sub
Просто скопируйте среднюю часть приведенного выше кода (между Sub и End Sub) в элемент формы и триггер, который вы решите использовать.
Совет
Если вы используете версию 2007 и не видите вкладку «Разработчик», нажмите кнопку «Офис», а затем кнопку «Параметры» в нижней части меню. Нажмите «Показать вкладку «Разработчик» на ленте» и нажмите «ОК».