Начало » Программирование » Delphi » Сохранение открытого документа OpenOffice
Сохранение открытого документа OpenOffice [сообщение #2054] |
Thu, 13 April 2023 10:32 |
san7667
Сообщений: 30 Зарегистрирован: November 2022
|
Member |
|
|
Добрый день! В интернете нашел процедуру открытия файла через OpenOffice для последующей замены текста.
Процедура отрабатывает, но не сохраняет файл при его закрытии.
Подскажите пожалуйста что отсутствует в данной процедуре?
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;
|
|
|
Переход к форуму:
Текущее время: Thu Nov 21 19:49:01 GMT+3 2024
Общее время, затраченное на создание страницы: 0.01000 секунд
|