2

私はここだけでなく、検索エンジンを使用していましたが、それにうんざりしていました。簡単な質問に対する簡単な回答 (またはリンク) が必要です。

計算シートを開いて、Delphi (7) コードからセル A1 に 123 を書き込むにはどうすればよいですか? (または、Calc の Hello World はありますか?)

4

2 に答える 2

4

さて、いくつかの調査と上記の情報を使用した後、私はyasに感謝します、ここに簡単な答えがあります:

一部を使用

Uses ComObj, OOoMessages, OOoTools, OOoConstants, OOoXray;

メインコード

空白のドキュメントを開き、「hello123」テキストを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を使用して数値を設定するか、文字列のsetformulaを使用します(実際にはわかりませんが、文字列が含まれていますLOL)。

ピーター

編集:私がインターネットで見つけた最も有用な情報はこのフォーラムにあります: http ://www.oooforum.org/forum/viewtopic.phtml?t = 4996

于 2012-02-14T14:05:26.860 に答える
4

このデモを見ることができます: http ://sourceforge.net/projects/ooomacros/files/Delphi%20OOo/Version%201.2/Delphi_OOo_v12en.zip/download

私は1か月前にドキュメントの部分をテストしました(これは機能します)。また、examples.pasにはいくつかのスプレッドシートコードがあります。

于 2012-02-14T09:59:22.953 に答える