У меня есть код, который включает в себя изменение некоторых переменных .PageSetup.
У меня проблемы с использованием этого кода
Sub Test()
Dim ws as Worksheet
Set ws = ActiveSheet
With ws.PageSetup
.Orientation = xlLandscape
End With
End Sub
Это приведет к ошибке, но если я сделаю паузукод перед запуском .Orientation
и перейдите в режим предварительного просмотра, затем попробуйте запустить его, все работает нормально.
Похоже, что функции .PageSetup должны быть загружены настройки принтера, прежде чем можно будет выполнить.Я не знаю, как это сделать с VBA.
Я запускаю это из Access DB VBA.Он экспортирует таблицу, которую я затем создаю новое приложение Excel, чтобы открыть его с помощью
Dim xlApp as Excel.Application
set xlApp = New Excel.Application
Исторически, пока у меня загружена справочная библиотека Excel, любой VBA, который я здесь пишу, работает в Access так же, как иэто было бы в Excel.
Но для сравнения, у меня также была эта проблема, когда внутри файла Excel, работающего с VBA, она просто не согласована, поэтому я никогда не выяснял, в чем проблема,Но всякий раз, когда у меня возникает проблема, решение всегда сначала выбирает Предварительный просмотр.
Это код ошибки, который я получаю в моем конкретном макросе:
Номер ошибки: 1004
Ошибка Описание: невозможно установить свойство Orientation класса PageSetup
Макрос выполняет тонну запросов и обновлений таблиц, прежде чем попасть в экспорт в Excel.Кроме того, сообщение об ошибке кажется довольно общим с номером 1004.