Замучилась уже. Method 'Count' of object 'HPageBreaks' failed.
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Замучилась уже. Method 'Count' of object... Expand / Collapse
Автор
Сообщение
27.06.2007 15:43
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 18.07.2007 11:10
Сообщ.: 14, Visits: 139
Мучую эту ошибку уже долго, решила спросить.

Есть шаблон .xlt, у него есть макрос. Еще есть написанный сервис, который запускает эксель, открывает workbook по данному шаблону и запускает макрос. В макросе пользуется в нескольких местах код, подобный этому:

Dim sheet As Worksheet

Set sheet = Worksheets(2)

sheet.Select

cnt_breaks = sheet.HPageBreaks.Count

Дак вот, когда выполняю этот код вручную (без всякиз запусков из сервиса), то проходит всегда все идеально. Когда выполняется из сервиса он выполняется через раз, то все отлично проходит, то выдает такую ошибку:

Number: -2147417848 Method 'Count' of object 'HPageBreaks' failed

А иногда такую

Number: -2147417848 Method '_Default' of object 'HPageBreaks' failed

 причем в различных местах кода, но всегда там где есть HPageBreaks. Убиваю эксель, запускается заново из сервиса с теми же параметрами входящими - и все ок. Оч похоже на то, что снесло крышу гдет, так как ранее такой траблы не было. Но установка офиса 2003 вместо XP и установка сервис пака для офиса не помогла. Куда копать? Переставлять винду очень не хочется.

Сообщ. #914387
27.06.2007 16:13
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 23.06.2008 8:38
Сообщ.: 91, Visits: 451
HPageBreaks является коллекцией, поэтому перед тем как обращаться к свойству Count, проверьте её на Nothing.

if not (sheet.HPageBreaks is Nothing) then

   cnt_breaks = sheet.HPageBreaks.Count

end if

Сообщ. #914388
28.06.2007 8:33
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 18.07.2007 11:10
Сообщ.: 14, Visits: 139
Можно проверять, но на листе, как минимум один HPagaBreaks есть изначально - поставленный вручную. А вот сколько разделителей получилось в результате добавления rows, это и надо выяснить. В итоге получится, если

HPagaBreaks is Nothing, то и смысл последующих действий теряется. Как сделать, чтобы HPagaBreaks не был Nothing, если разделители страниц имеются?

Сообщ. #914403
28.06.2007 15:02
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 16.04.2008 11:44
Сообщ.: 366, Visits: 2 473
Уже сталкивался с подобной проблемой:
http://relib.com/forums/Topic909706-11-1.aspx?Highlight=HPageBreaks
Прежде чем прочитать количество разделителей попробуйте :
ActiveCell.SpecialCells(xlLastCell).Select
Range("A1").Select

С уважением,
Сообщ. #914419
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, VladConn

Время GMT +3:00, Сейчас 5:18