OpenOffice Calc снова Delphi - PullRequest
       66

OpenOffice Calc снова Delphi

1 голос
/ 14 февраля 2012

Я использовал поисковик, а не только здесь, и устал от этого;просто хочу простой ответ (или ссылку) на простой вопрос:

Как мне открыть калькулятор и записать 123 в ячейку A1 из кода Delphi (7)?(Или какие-нибудь привет миры для calc?)

Ответы [ 2 ]

3 голосов
/ 14 февраля 2012

Хорошо, после некоторого исследования и использования приведенной выше информации, я благодарю вас за это, вот простой ответ:

использует часть

Uses ComObj, OOoMessages, OOoTools, OOoConstants, OOoXray;

основной код

откройте пустой документ, напишите текст 'hello 123' в a1, затем сохраните его на рабочем столе

procedure HelloWorldExample;
var
  mentesiOpciok,oSheet,oSheets,myCalc : Variant;
begin
  ConnectOpenOffice;
  myCalc:=StarDesktop.loadComponentFromURL('private:factory/scalc', '_blank', 0, dummyArray);
  oSheets:=myCalc.getSheets;
  oSheet:=oSheets.getByIndex(0);
  //oSheet.getCellByPosition(0, 0).SetValue(123);
  oSheet.getCellByPosition(0, 0).SetFormula('hello 123!');

  mentesiOpciok:=CreateProperties(['FilterName', 'MS Excel 97']);
  myCalc.storeToURL('file:///C:/Documents and Settings/Zéiksz/Asztal/calcdoc.xls', mentesiOpciok);
  showMessage('kész :)');
  myCalc.close(true);
  DisconnectOpenOffice();
end;

используйте getcellbyposition (...). setvalue для установки числовых значений или формула для строк (не совсем уверен,но в нем есть строка LOL).

Петер

edit: Самая полезная информация, которую я нашел в Интернете, находится на этом форуме: http://www.oooforum.org/forum/viewtopic.phtml?t=4996

3 голосов
/ 14 февраля 2012

Вы можете взглянуть на эту демонстрацию: http://sourceforge.net/projects/ooomacros/files/Delphi%20OOo/Version%201.2/Delphi_OOo_v12en.zip/download

Я протестировал часть документа месяц назад (которая работает), и в файлах examples.pas также есть некоторый код электронной таблицы.

...