Hi, I'm trying to opeate on OpenOffice.org text document. Here's my quick code.
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
Variants, ComObj;
const
ServerName = 'com.sun.star.ServiceManager';
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
public
Server : Variant;
Desktop : Variant;
LoadParams : Variant;
Document : Variant;
TextCursor : Variant;
end;
const
fn = 'C:\Users\SEG\Projects\ZZZ-Others\FirstStepsBasic.odt';
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var
enum1, enum2,
TextElement : Variant;
begin
try
Server := CreateOleObject(ServerName);
except
WriteLn('Unable to start OO.');
Exit;
end;
Desktop := Server.CreateInstance('com.sun.star.frame.Desktop');
LoadParams := VarArrayCreate([0, -1], varVariant);
Document := Desktop.LoadComponentFromURL('file:///C:/Users/SEG/Documents/ZZZ-Others/FirstStepsBasic.odt',
'_blank', 0, LoadParams);
enum1 := Document.Text.CreateEnumeration;
while enum1.HasMoreElements do begin
TextElement := enum1.NextElement;
if TextElement.SupportsService('com.sun.star.text.Paragraph') then
memo1.lines.add (TextElement.ParaStyleName); // I need "TextElement.String"
end;
end;
This codes work fine, but what I want is to use 'textelement.string'.
Problem is "string" is a property of an OpenOffice object Paragraph, but it is a reserved word in Object Pascal.
Document, enum1, etc. are defined as object in the OpenOffice.org Basic.
Regards,