Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

22 Август 2019, 23:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Определить обрамление, его эффект и толщину (макрос)  (Прочитано 3602 раз)
0 Пользователей и 1 Гость смотрят эту тему.
IceBeerg
Новичок
*
Offline Offline

Сообщений: 2


« Стартовое сообщение: 27 Ноябрь 2013, 16:41 »

По сабжу, собственно, как?
Слева, справа, сверху, снизу...

Собственно все это для чего начиналось: в текущей версии 4.1.4.2 и более ранних версии 4.1, а может и до, при открытии таблицы созданной в 1С с обрамлением ячеек вида "-----", оно (обрамление) на печать не выводилось. Йоксель все видит нормально. В Формат ячеек \ Обрамление \ Линия - Эффекты эффект был не определен (белое поле).
Пришлось в меру своих скудных познаний все же собраться с силами и написать макрос.
Может кому пригодиться.
Код:
sub BorderLinesStyle14To0InCurrentSheet
View = ThisComponent.getCurrentController()
Sheet = View.getActiveSheet()
Cursor = Sheet.createCursor()
Cursor.gotoStartOfUsedArea(false)
Cursor.gotoEndOfUsedArea(true)
RangeAddress = Cursor.getRangeAddress()
for col = 0 to RangeAddress.EndColumn
for row = 0 to RangeAddress.EndRow
Cell = Sheet.getCellByPosition(col, row)
Border = Cell.TopBorder
if Border.LineStyle = 14 then
Border.LineStyle = 0
Border.OuterLineWidth = 2
Cell.TopBorder = Border
end if
Border = Cell.RightBorder
if Border.LineStyle = 14 then
Border.LineStyle = 0
Border.OuterLineWidth = 2
Cell.RightBorder = Border
end if
Border = Cell.BottomBorder
if Border.LineStyle = 14 then
Border.LineStyle = 0
Border.OuterLineWidth = 2
Cell.BottomBorder = Border
end if
Border = Cell.LeftBorder
if Border.LineStyle = 14 then
Border.LineStyle = 0
Border.OuterLineWidth = 2
Cell.LeftBorder = Border
end if
next row
next col
end sub
« Последнее редактирование: 27 Декабрь 2013, 10:25 от IceBeerg » Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!