Здравствуйте, продолжу здесь, чтобы не заводить новую тему, поскольку вопрос похожий.
Есть программа на VB, которая выполняет запрос к базе данных, сохраняет результат в книгу Excel и выполняет над ним форматирование. Для установки границ листа при печати используется примерно такой код:
- Код: Выделить всё
Sub test()
Dim e As Excel.Application
Dim b As Workbook
Dim w As Worksheet
Set e = Excel.Application
Set b = e.Workbooks.Add
Set w = b.Sheets(1)
With w.PageSetup
.PrintArea = "a1:J10"
.LeftMargin = e.CentimetersToPoints(0.35)
.RightMargin = e.CentimetersToPoints(0.35)
.TopMargin = e.CentimetersToPoints(0.35)
.BottomMargin = e.CentimetersToPoints(0.35)
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
End With
Set w = Nothing
Set b = Nothing
Set e = Nothing
End Sub
Все работало нормально, но сейчас начала выдаваться ошибка
на строке .PrintArea = "a1:J10": "1004 нельзя установить св-во printarea класса pagesetup"
На последующих строках то же самое, то есть при любой попытке задать свойство в pagesetup возникает ошибка.
Раньше программа выполнялась на компьютере с Excel 2000 (9.0 2812), сейчас Excel 2000 (9.0 6926 SP-3)
Скажите, в чем может быть ошибка? Может быть какие-то настройки запрещающие редактирование границ листа? Или не так установлено какое-то свойство объекта Application, Workbook, Worksheet?