OpenOffice & Delphi
От: fokiss  
Дата: 12.03.07 12:51
Оценка:
я вот тоже в поисках намучился инфы для openoffice
примерчик для calc мож кому пригодится


procedure TForm1.Button1Click(Sender: TObject);
var
StarOffice, StarDesktop, Document, Sheets, Sheet, OuterBorder, Cell: variant;
J, I: integer;
begin

  StarOffice := CreateOleObject('com.sun.star.ServiceManager');

  StarDesktop := StarOffice.createInstance('com.sun.star.frame.Desktop');
  Document := StarDesktop.LoadComponentFromURL('private:factory/scalc', '_blank', 0,
                  VarArrayCreate([0, -1], varVariant));
  OuterBorder := StarOffice.Bridge_GetStruct('com.sun.star.table.BorderLine');

  Sheets := Document.getSheets;
  Sheet := Sheets.getByName('Лист1);
  Cell := Sheet.getCellRangeByName('A4:D4').Merge(true);
  Cell := Sheet.getCellRangeByName('C10:C13').setPropertyValue('CellBackColor', 255);

 { cell := sheet.getCellRangeByPosition(0, 1, 0, 3);   Cell.cellBackColor :=200;}
   
  J := 1; I := 1;
  Cell := Sheet.getCellByPosition(j, i);
  Cell.charColor := 55;
  Cell.charHeight :=  14;
  Cell.CharWeight:= 150;
  Cell.charUnderline := true;
  Cell.charPosture := true;
  Cell.charStrikeout  := true;
  Cell.SetString('The first line.');

  Cell := Sheet.getCellByPosition(j, i+1);
  Cell.SetString('The seconed line ');

  OuterBorder.color := 155;
  OuterBorder.lineDistance  := 0;
  OuterBorder.innerLineWidth := 0;
  OuterBorder.outerLineWidth := 1;
  Cell.leftBorder :=  OuterBorder;
  Cell.rightBorder := OuterBorder;
  Cell.topBorder := OuterBorder;
  Cell.bottomBorder := OuterBorder;

  StarOffice := Unassigned;
end;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.