sign писал(а):Я работаю с uOpenOffice написанный Yuric74`ом.
Всё работает - печать, сохранение, чтение, создание, русские пути.
А у меня нет. Русские пути не открываются. ReplaceAll не работает. Говорит, OleError
Добавлено спустя 36 минут 13 секунд:По ODFProc:
поменял в GenerateDocument код на:
Код: Выделить всё
if DocumentPath = 'default' then
PathName := ExtractFilePath(Application.ExeName)
else
PathName := IncludeTrailingPathDelimiter(DocumentPath);
ComStr:='7z.exe a -tzip "'+PathName+'doc.zip" "'+TempDir+'*"';
P:=TProcess.Create(nil);
P.CommandLine:=ComStr;
P.Options:=P.Options+[poWaitOnExit];
P.Execute;
RenameFile(PathName+'doc.zip',PathName+DocumentName);
При этом ShowDocument открывает нормально, а SaveToFile сохраняет, но готовый файл опять открывается "поврежденный". Как такое может быть, если оба метода вызывают один и тот же GenerateDocument ???????
Добавлено спустя 1 час 23 минуты 48 секунд:Код: Выделить всё
Doc.FindAndReplace('%FIRSTPARAM%',Utf8ToAnsi('-ПЕРВЫЙ-'));
Doc.FindAndReplace('%SECONDPARAM%',Utf8ToAnsi('-Второй-'));
Doc.FindAndReplace('%DATA%',DateToStr(Now));
Table:=Doc.GetTable('Таблица1');
Table.Cells[0,0]:='№ п/п';
Table.Cells[1,0]:='название';
Table.Cells[2,0]:='Текст';
for I:=1 to 10 do begin
Table.MultiplyRow(I,1);
Table.Cells[0,I]:=IntToStr(I);
table.Cells[1,I]:='Таблица1';
Table.Cells[2,I]:='текст №'+IntToStr(I)+' '+TimeToStr(Now);
end;
Doc.ShowDocument('template.odt');
FindAndReplace работает.
Обращение к Table.Cells вызывает сразу ошибку.... почему, никто не объяснит?