Возникли проблемы при создании PDF из Excel с использованием MSAccess и VBA - PullRequest
0 голосов
/ 11 апреля 2019

Я создал некоторый код в VBA, который открывает файл Excel, захватывает несколько листов, а затем создает из них PDF-файл.Код работает в первый раз, а затем завершается ошибкой «Ошибка объекта или переменная блока не установлена» во второй раз.

Это цикл, захватывающий файл для каждой записи, но я могу сделать так, чтобы он делал по одному и выходил из функции.Даже тогда, после закрытия функции и последующего ее запуска, происходит сбой.

PDFName="The file name.pdf"

Set Xl = CreateObject("Excel.Application")

Set XlBook = Xl.Workbooks.Open(MDestDir)

Xl.Visible = True

Set XlSheet = XlBook.Worksheets(MSumName)

XlBook.Worksheets(Array(MSumName, "Technical Effectiveness", "Project 
Participation-Mngmt", "Personal Effectiveness", "Business Effectiveness", 
"Organizational - Management", "Core Values")).Select

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
PDFName, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False

XlBook.Close True

Xl.Quit

Итак ... В меню программы я выбираю пользователя / запись и нажимаю кнопку, чтобы запустить эту функцию.Работает нормально.Затем я снова нажимаю кнопку, чтобы запустить его, и я получаю сообщение об ошибке.

1 Ответ

0 голосов
/ 11 апреля 2019

Мне потребовалось набрать всю эту текстовую информацию, что привело меня к двойной проверке кода, который я написал в прошлом. Я поместил объект книги в строку ActiveSheet, и все это начало работать.

xl.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
PDFName, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...