У меня есть книга Excel, которая использует VBA для создания PDF-файлов из листов и отправки их по электронной почте через Outlook.

Когда я нажимаю кнопку, чтобы создать PDF-файлы и отправить их, Microsoft Visual Basic выдает следующее сообщение об ошибке:

Ошибка компиляции: не удается найти проект или библиотеку

Затем отладчик выделяет следующий код:

 Function Create_PDF_Sheet_Level_Names(NamedRange As String, FixedFilePathName As String, _
                                       OverwriteIfFileExist As Boolean, OpenPDFAfterPublish As Boolean) As String

    'This function will create a PDF with every sheet with
    'a sheet level name variable <NamedRange> in it

         Dim FileFormatstr As String
         Dim Fname As Variant
         Dim Ash As Worksheet
         Dim sh As Worksheet
         Dim ShArr() As String
         Dim s As Long
         Dim SheetLevelName As Name

         'Test If the Microsoft Add-in is installed
         If Dir(Environ("commonprogramfiles") & "\Microsoft Shared\OFFICE" _
         & Format(Val(Application.Version), "00") & "\EXP_PDF.DLL") <> "" Then

...

В частности, "Environ" в:

        'Test If the Microsoft Add-in is installed
         If Dir(Environ("commonprogramfiles") & "\Microsoft Shared\OFFICE" _
         & Format(Val(Application.Version), "00") & "\EXP_PDF.DLL") <> "" Then

Он должен быть в состоянии найти EXP_PDF.dll, поскольку он существует в:

C:\Program Files\Common Files\microsoft shared\OFFICE12\EXP_PDF.DLL

Пользователь использует Office 2007, поэтому правильная соответствующая папка - OFFICE12.

Я попытался запустить Regsvr32.exe для регистрации DLL, но это не работает.

2 ответа2

0

Вот сайт с решением этой проблемы

Нужно скопировать файл exp_pdf.dll в корневую систему программы для ее востановления. Exp_pdf.dll. Если это не сработает, попробуйте скопировать файл exp_pdf.dll в системную директорию. По умолчанию это:
Windows 95/98/Me - C:\Windows\System Windows NT/2000 - C:\WINNT\System32 Windows XP, Vista, 7 - C:\Windows\System32

Если вы используете 64-разрядную версию Windows, вам также следует скопировать exp_pdf.dll в C:\Windows\SysWOW64\

Сделайте резервную копию оригинальных файлов. Перезаписайте все существующие файлы. Перезагрузите компьютер. Если проблема все еще возникает, попробуйте следующее: Откройте меню Пуск Windows и выберите «Выполнить ...». Введите CMD и нажмите Enter (или, если вы используете Windows ME, введите COMMAND) Введите regsvr32 exp_pdf.dll и нажмите Enter.

Если вы не можете найти каталог Windows, попробуйте следующее: Откройте меню Пуск Windows и выберите «Выполнить ...». Введите CMD и нажмите Enter (или, если вы используете Windows ME, введите COMMAND) Введите% WINDIR% и нажмите Enter.

-1

Та же проблема здесь, после обновления Windows. Я исправляю это с помощью «перед If Dir(Environ(" commonprogramfiles ") ...., другое» перед Else и End If). В основном я исключаю, что добавить в проверке. :) Конечно, Microsoft изменила путь или имя dll вместе с последним обновлением, и я пропустил эту проверку. Надеюсь, это поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .