Имя: Пароль:
1C
 
1c +Libreoffice
0 azeml
 
02.09.16
15:56
Здравствуйте! Подскажите почему не меняет параметры пытаюсь через LibreOffice . Формат файла odt .

&НаКлиенте
Процедура Команда1(Команда)
КомандаНаСервере();
ЗапуститьПриложение("C:\Temp\Новая папка\MAKET.odt");
КонецПроцедуры
&НаСервере
Процедура КомандаНаСервере()
ПутьКФайлу = "C:\Temp\MAKET.odt";
Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
Макет.Записать(ПутьКФайлу);
ServiceManager = Новый COMОбъект("com.sun.star.ServiceManager");
Desktop = ServiceManager.createInstance("com.sun.star.frame.Desktop");
Scr = Новый COMОбъект("MSScriptControl.ScriptControl");
Scr.Language="javascript";
Scr.Eval("Args=new Array()");
Args = Scr.Eval("Args");
Scr.AddObject("ServiceManager", ServiceManager);

Попытка
FileNameSh = СокрЛП("C:\Temp\MAKET.odt");
URL = СтрЗаменить(FileNameSh," ","%20");
URL = СтрЗаменить(URL,"\","/");
URL ="file://localhost/" + URL;

OpenOffice = Desktop.LoadComponentFromURL(URL, "_blank", 0, Args);

Исключение
Сообщить("Ошибка при попытке создать объект ", СтатусСообщения.Внимание);
Возврат;
КонецПопытки;

Replace =OpenOffice.CreateReplaceDescriptor();
Replace.SearchString = "[paramNumber]";
Replace.ReplaceString = "111111";
OpenOffice.ReplaceAll(Replace);
Scr = "";
OpenOffice = "";
ServiceManager = "";
//ЗапуститьПриложение(ПутьКФайлу);
КонецПроцедуры

возможно проблема в том, что когда я открываю макет вручную он пишет, что файл заблокирован и возможность открыть только для просмотра. Захожу внутрь нажимаю разрешить доступ тогда могу его редактировать
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший