procedure OpenOfficeReplace(
const AFileURL:
string; ASearch:
string;
const AReplace:
string);
var
StarOffice: Variant;
StarDesktop: Variant;
StarDocument: Variant;
FileReplace: Variant;
FileParams: Variant;
FileProperty: 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);
ShowMessage('
Replace has been finished');
StarDocument.Close(True);
StarDesktop.Terminate;
StarOffice := Unassigned;
end;