|
Работа с OpenOffice Writer | ☑ | ||
---|---|---|---|---|
0
VigerV
19.06.12
✎
15:54
|
Проблема: есть документ в нем табличный документ, установлен только OpenOffice. При этом цель сохранить документ в doc формате. Возникло две проблемы первая, при построчном чтении текст переносится без форматирования, и вторая не происходит сохранения вылетает при установке фильтра для сохранения в формате MS Word. Может кто подскажет как решить:
scr=Новый COMОбъект("MSScriptControl.ScriptControl"); scr.language="javascript"; scr.eval("Massiv=new Array()"); Massiv=scr.eval("Massiv"); //создали массив на ява ServiceManager=Новый COMОбъект("com.sun.star.ServiceManager"); Scr.AddObject("ServiceManager",ServiceManager); Desktop=ServiceManager.createInstance("com.sun.star.frame.Desktop"); //сом объект Попытка Document=Desktop.LoadComponentFromURL("private:factory/swriter","_blank",0, Massiv ); //новый документ Исключение Сообщить("Ошибка создания нового документа"); КонецПопытки; Для НомерСтроки = 1 По ПечатнаяФорма.ВысотаТаблицы Цикл //установка позиции в конец документа Xrange = Document.getText().getEnd(); // вставка строки Document.getText().insertString(Xrange, ПечатнаяФорма.ПолучитьОбласть(НомерСтроки, 1, НомерСтроки, ПечатнаяФорма.ШиринаТаблицы).ТекущаяОбласть.Текст, false); КонецЦикла; ИмяФайлаСообщения = Путь + ИмяФайла +"."+ТипФайла; Попытка SaveParam = scr.Eval("ServiceManager.Bridge_GetStruct('com.sun.star.beans.PropertyValue')"); SaveParam.Name = "FilterName"; SaveParam.Value = "Ms Word 97"; scr.CodeObject.SetItem(0, SaveParam); Document.storeToURL(ПреобразоватьВURL(ИмяФайлаСообщения), Massiv); Document.dispose(); Сообщить("Файл " + ИмяФайлаСообщения + " успешно сохранен"); Исключение Сообщить("Ошибка сохранения документа"); Сообщить(ОписаниеОшибки()); КонецПопытки; альтернатинвый способ наложения фильтра для формата тоже не работает: scr.eval("Massiv[0]=ServiceManager.Bridge_GetStruct('com.sun.star.beans.PropertyValue')"); scr.eval("Massiv[0].Name='FilterName'"); scr.eval("Massiv[0].Value='Ms Word 97'"); Document.storeToURL(ПреобразоватьВURL(ИмяФайлаСообщения), Massiv); |
|||
1
VigerV
20.06.12
✎
11:28
|
Неужели никто не знает?
|
|||
2
VigerV
21.06.12
✎
10:31
|
При использовании второго метода наложения фильтра вылетает ошибка:
Ошибка при вызове метода контекста (storeToURL): Произошла исключительная ситуация ([automation bridge] ): com.sun.star.task.ErrorCodeIOException: scr.eval("Massiv[0]=ServiceManager.Bridge_GetStruct('com.sun.star.beans.PropertyValue')"); scr.eval("Massiv[0].Name='FilterName'"); scr.eval("Massiv[0].Value='Ms Word 97'"); Document.storeToURL(ПреобразоватьВURL(ИмяФайлаСообщения), Massiv); |
|||
3
Kreont
21.06.12
✎
10:38
|
1с 8-ая вроде позволяет в док сохранить сразу, не?
|
|||
4
VigerV
21.06.12
✎
13:38
|
Без установленного MS Office нет.
|
|||
5
andrewks
21.06.12
✎
13:51
|
(4) враньё
|
|||
6
VigerV
21.06.12
✎
16:58
|
При попытке сохранения стандартным методом табличного документа в docx вылетает с дампом. С остальными форматами проблем нет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |