powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Unable to set the LineStyle property of the border class
17 сообщений из 17, страница 1 из 1
Unable to set the LineStyle property of the border class
    #37244892
Весельчак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем всего!

У меня тут возник один вопрос - можно ли обойти следующую проблему, особо сильно не меняя код.
В 2003 экселе макрос по изменению границ у диапазонов не испытывал проблем в том, что в диапазон попадают объединенные ячейки. Сейчас же (то есть в 2007 экселе) это сделать нельзя.
Код: plaintext
1.
2.
3.
With oRange.Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .Weight = xlMedium
        End With
...
Рейтинг: 0 / 0
Unable to set the LineStyle property of the border class
    #37244895
NullUzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Весельчак,

Код: plaintext
1.
2.
3.
4.
5.
With oRange.MergeArea.Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .Weight = xlMedium
End With

...
Рейтинг: 0 / 0
Unable to set the LineStyle property of the border class
    #37244961
Весельчак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, NullUzer

Обстоятельства поменялись. Причина не в MergeArea. Пока не могу понять в чем проблема. Прикладываю файл и описание своих действий ( 1 - кликаем правой кнопкой мыши по ячейке A1 2 - заходим в Format Cells... 3 - у меня не открывается это меню для данной ячейки)
...
Рейтинг: 0 / 0
Unable to set the LineStyle property of the border class
    #37244967
NullUzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Весельчак,

А где файл? :-)
...
Рейтинг: 0 / 0
Unable to set the LineStyle property of the border class
    #37244981
Весельчак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри.
...
Рейтинг: 0 / 0
Unable to set the LineStyle property of the border class
    #37245004
NullUzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Удали первую строку.
...
Рейтинг: 0 / 0
Unable to set the LineStyle property of the border class
    #37245021
Весельчак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надеюсь понятно, что данный файлик я создал специально чтобы показать проблему. У меня автоматически формируется файл-отчет с определенным форматированием. И в самом конце я работаю с границами. А в диапазон как-раз попадают такие ячейки, которые не дают возможности с ними работать. Мне бы хотелось не игнорировать проблему, а понимать ее и решить.
...
Рейтинг: 0 / 0
Unable to set the LineStyle property of the border class
    #37245317
NullUzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Весельчак,

Не знаю, в чём дело, но XML-контент этого листа говорит, что в ячейке что-то есть:
Код: plaintext
1.
2.
3.
4.
5.
<sheetData>
    <row r="1" spans="1:1">
        <c r="A1" s="1" /> 
    </row>
</sheetData>
...
Рейтинг: 0 / 0
Unable to set the LineStyle property of the border class
    #37245427
NullUzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Весельчак,

Я выяснил, что атрибут "s" элемента "с" означает стиль (второй стиль в таблице стилей).
Удалив этот элемент "row", проблема решается. Ищи источник проблем в той программе, которая формирует книгу Экселя.
...
Рейтинг: 0 / 0
Unable to set the LineStyle property of the border class
    #37245440
Весельчак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Жаль, но все равно спасибо )

Мне еще придется решать эту проблему, так что когда до нее дойду и если что получится - отпишусь.
...
Рейтинг: 0 / 0
Unable to set the LineStyle property of the border class
    #37245443
Весельчак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не увидел ответа... Сейчас посмотрю.
...
Рейтинг: 0 / 0
Unable to set the LineStyle property of the border class
    #37249217
falcon17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Была такая же проблема. полдня убил...
NullUzer, Спасибо.
...
Рейтинг: 0 / 0
Unable to set the LineStyle property of the border class
    #37252229
falcon17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно, этот топик мне помог найти проблему,
Но на самом деле причина возникновения совершенно непонятна, и как избежать повторного появления тоже не ясно.
У меня она возникает когда я объединяю 2 ячейки в заголовке, после чего линию не могу прописать по всему столбцу таблицы.

В коде ошибок вроде нет.
Range("B9", "B10").Merge
With Range("B9", Cells(yy + 3, xx + 1))
.Borders(xlEdgeLeft).Weight = xlMedium
...

Я конечно, сейчас переставлю Merge в конец после форматирования, надеюсь поможет, но все же...

Кто-то еще слышал про такую ошибку, и почему она может возникать?
...
Рейтинг: 0 / 0
Unable to set the LineStyle property of the border class
    #37252386
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: falcon17
> В коде ошибок вроде нет.
> Range("B9", "B10").Merge
> With Range("B9", Cells(yy + 3, xx + 1))
> .Borders(xlEdgeLeft).Weight = xlMedium
> Кто-то еще слышал про такую ошибку, и почему она может возникать?

Ты объединил две ячейки, а потом пытаешся назначить границу "несуществующей" стороне ячейки. Ведь после объединения
ячейка имеет левую границу по адресу B9, а правую границу - B10, а ты пытаешся назначить правую границу для ячейки B9
которая в объединенной ячейке не существует. От этого и ошибка. Как вариант решения сделать как делаешь - сначала
границы, потом объединения. Можно сначала объединения, но установка границ потребует вычисления правильных ячеек, для
задания границ.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Unable to set the LineStyle property of the border class
    #37252941
falcon17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбоносназначить границу "несуществующей" стороне ячейки. Ведь после объединения
ячейка имеет левую границу по адресу B9, а правую границу - B10
А можно чуть подробнее?

И как объяснить тот факт, что если стандартными средствами сделать объединение, то можно нажав правую кнопку вызвать формат ячеек, а после макроса (причем вызванного повторно после сохранения и закрытия книги) - нельзя? Кстати макрос полностью чистит страницу перед построением.

Заранее спасибо.

Кстати, всем у кого такая же проблема - действительно, сначала надо делать форматирование, потом объединение (отключив сообщения, если надо).
...
Рейтинг: 0 / 0
Unable to set the LineStyle property of the border class
    #37253258
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: falcon17
> А можно чуть подробнее?

Возможно, происходит следующее: ты задаешь один range(Range("B9", Cells(yy + 3, xx + 1)), а из-за объединенной ячейки
range реально другой и из-за этого может быть конфликт. Или ты пытаешся назначить несуществующую границу, например так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 Try && наверное может быть ситуация, когда будет только одна строка
*     И тогда не будет понятия "внутренние горизонтальные линии" и будет ошибка
*     Вот её тихонько перехватим и будем работать дальше
  With .BorderS(xlInsideVertical)
   .LineStyle = xlContinuous
   .Weight = xlThin
   .ColorIndex = xlAutomatic
  Endwith
 Catch To oErr
 Endtry
 Try && наверное может быть ситуация, когда будет только один столбец
*     И тогда не будет понятия "внутренние вертикальные линии" и будет ошибка
*     Вот её тихонько перехватим и будем работать дальше
  With .BorderS(xlInsideHorizontal)
   .LineStyle = xlContinuous
   .Weight = xlThin
   .ColorIndex = xlAutomatic
  Endwith
 Catch To oErr
 Endtry

> И как объяснить тот факт, что если стандартными средствами сделать объединение, то можно нажав правую кнопку
> вызвать формат ячеек, а после макроса (причем вызванного повторно после сохранения и закрытия книги) - нельзя? Кстати
> макрос полностью чистит страницу перед построением.

Вот здесь не понял


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Unable to set the LineStyle property of the border class
    #37254144
falcon17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
выше есть прикрепленный файл.
в нем, если поставить курсор на ячейку А1, то даже стандартными средствами нельзя будет применить границы, а также вызвать из контекстного меню "форматирование ячеек".

У меня аналогичные ячейки получаются после объединения. И, кстати, макрос останавливается не на внутренних линиях, а на боковых, где ошибок по идее быть не должно.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Unable to set the LineStyle property of the border class
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]