procedure
TFExpertzakl
.
OpenOfficeReplace(
const
AFileURL:
string
;
ASearch:
string
;
const
AReplace:
string
);
var
StarOffice: Variant;
StarDesktop: Variant;
StarDocument: Variant;
FileReplace: Variant;
FileParams: Variant;
FileProperty: Variant;
VariantArray: Variant;
begin
StarOffice := CreateOleObject(
'com.sun.star.ServiceManager'
);
StarDesktop := StarOffice
.
CreateInstance(
'com.sun.star.frame.Desktop'
);
FileParams := VarArrayCreate([
0
,
0
], varVariant);
FileProperty := StarOffice
.
Bridge_GetStruct(
'com.sun.star.beans.PropertyValue'
);
FileProperty
.
Name :=
'Hidden'
;
FileProperty
.
Value :=
False
;
FileParams[
0
] := FileProperty;
StarDocument := StarDesktop
.
LoadComponentFromURL(AFileURL,
'_blank'
,
0
, FileParams);
FileReplace := StarDocument
.
CreateReplaceDescriptor;
FileReplace
.
SearchCaseSensitive :=
False
;
FileReplace
.
SetSearchString(ASearch);
FileReplace
.
SetReplaceString(AReplace);
StarDocument
.
ReplaceAll(FileReplace);
StarDocument
.
Close(
True
);
StarDesktop
.
Terminate;
StarOffice := Unassigned;
end
;