Я программирую макрос Excel VBA для автоматизации задачи печати. Я хочу сохранить объект PageSetup рабочей книги, выполнить мои действия и затем восстановить исходные параметры. Я попробовал это:
Sub test()
Dim TempPageSetup As PageSetup
Set TempPageSetup = ActiveSheet.PageSetup
'Modify the ActiveSheet.PageSetup
'Print the worksheet
Set ActiveSheet.PageSetup = TempPageSetup
End Sub
Но я получаю ошибку "Переменная объекта или С переменной блока не установлено", когда пытаюсь вернуть исходный объект pagesetup. Является ли объект подкачки листа только для чтения?
Я также пытался вернуть его свойство за свойством в операторе With activeSheet.PageSetup. Кажется, это работает, но в какой-то момент я получил «Ошибка автоматизации», и Excel просто выключился. Я запускаю код шаг за шагом, и это не всегда происходит с одним и тем же свойством. Любое объяснение? Я все еще расследую, что происходит.