1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Форматирование таблицы [calc]

Тема в разделе "Lotus - Программирование", создана пользователем allex, 4 мар 2009.

  1. allex

    allex Гость

    Репутация:
    0
    Имеется код

    При установке значения border ячйки не принимают границ

    Код:
    Set xlglob = CreateObject ( "com.sun.star.ServiceManager" ) 
    Set Desktop = xlglob.createInstance("com.sun.star.frame.Desktop") 
    Set document = Desktop.LoadComponentFromURL("private:factory/scalc","_ blank",0,mass) 
    Set sheets=Document.getSheets() 
    Set xlWbk = sheets.getByIndex(0) 
    ....................................................
    ....................................................
    
    Set oRange = xlWbk.getCellRangeByName("A1:G5") 
    oRange.merge(True)
    Call oRange.setPropertyValue("CellBackColor", 16764057)
    
    доходит до этого места и вываливается в ошибку
    
    Call oRange.SetPropertyValue("LeftBorder",border)
    Call oRange.SetPropertyValue("RightBorder",border)
    Call oRange.SetPropertyValue("TopBorder",border)
    Call oRange.SetPropertyValue("BottomBorder",border)
    Подскажите как задать границы ячейкам ?



    Задачка решена

    Код:
    	Set xlglob = CreateObject ( "com.sun.star.ServiceManager" ) 
    Set Desktop = xlglob.createInstance("com.sun.star.frame.Desktop") 
    Set document = Desktop.LoadComponentFromURL("private:factory/scalc","_ blank",0,mass) 
    Set Border = Desktop.Bridge_GetStruct("com.sun.star.table.BorderLine")
    Set sheets=Document.getSheets() 
    Set xlWbk = sheets.getByIndex(0) 
    
    ...........................................
    
    Set oRange = xlWbk.getCellRangeByName("A1:G5") 
    oRange.merge(True)
    Call oRange.setPropertyValue("CellBackColor", 16764057)
    Border.color = 155
    Border.lineDistance = 0
    Border.innerLineWidth = 0
    Border.outerLineWidth = 1
    
    Call oRange.SetPropertyValue ( "TopBorder" , Border ) 
    Call oRange.SetPropertyValue( "BottomBorder" , Border )
    Call oRange.SetPropertyValue( "LeftBorder" , Border ) 
    Call oRange.SetPropertyValue( "RightBorder" , Border )
     
  2. azat20

    azat20 Well-Known Member

    Репутация:
    0
    Регистрация:
    22 июл 2008
    Сообщения:
    244
    Симпатии:
    0
    да... помню я очень долго возился с выгрузкой в Calc.Еще негде спросить, инфы нету. Юзай это:
    Call setBorders(cellran, True, True, True, True, 35 , 0)

    Sub setBorders(cell As Variant, doTop As Boolean, doLeft As Boolean, doRight As Boolean, doBottom As Boolean, weight As Integer,Color As Long) 'rangeBorders
    Set bLine =createStruct(CoreReflection,"com.sun.star.table.BorderLine")
    bLine.Color=color
    bLine.InnerLineWidth = 0
    bLine.LineDistance = 0
    bLine.OuterLineWidth =weight
    If doLeft Then
    Set cell.leftBorder=bline
    End If
    If doTop Then Set cell.topBorder = bline
    If doRight Then Set cell.rightBorder = bline
    If doBottom Then Set cell.bottomBorder = bline
    End Sub

    у меня очень прекрасно работает
     
  3. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.375
    Симпатии:
    336
    дорогие коллеги, объясните мне - ну зачем вы юзаете глюкавый КОМ, ну неуж-то так лень - ХМЛ взять и использовать
    ведь ОО формат для этого и приспособлен и ОО на компе не нужен (тогда)
    Сергей выкладывал примерчик работы с write файлами. ну откройте вы спецификации о ODF...
    http://en.wikipedia.org/wiki/OpenDocument
    или расковыряйте готовый файл и посмотрите ХМЛ
     
  4. allex

    allex Гость

    Репутация:
    0
    А кто сказал что на компе он не нужен.
    Офис на машинах как раз и стоит.
     
Загрузка...

Поделиться этой страницей