|
|
#1 |
|
Участник
|
Ищу класс для работы с OpenOffice
Есть ли готовый класс для работы с OpenOffice ?
|
|
|
|
|
#2 |
|
Участник
|
Форум выводит схожие, по его мнению, темы внизу, однако в этот раз он показывает что-то совсем не то...
Хотя готовых классов, что бы вы под этом ни подразумевали, не публиковалось, тем не менее, в похожих темах были куски кода под различные задачиAxapta+OpenOffice OpenOffice форматирование Как открыть шаблон в OpenOffice? Также была ссылка на форум OpenOffice.org |
|
|
|
|
#3 |
|
Участник
|
Ссылка должна помочь. Сам не пробовал.
|
|
|
|
|
#4 |
|
Участник
|
Спасибо за ответы. А работал ли кто с буфером обмена? Средствами аксапты заполняется буфер и надо вставить содержимое в OpenOffice Calc.
|
|
|
|
|
#5 |
|
Участник
|
Бьюсь со вставкой из буфера обмена, не получается. Подскажите как реализовать.
Код на бейсике: Код: Set ServiceManager = CreateObject("com.sun.star.ServiceManager")
Set Desktop = ServiceManager.createInstance ("com.sun.star.frame.Desktop")
Dim arr() As Variant
Set Document=Desktop.LoadComponentFromURL("private:factory/swriter", "_blank", 0, arr())
Set oClip=ServiceManager.CreateInstance("com.sun.star.datatransfer.clipboard.SystemClipboard")
Set oClipContents=oClip.getContents()
oTypes=oClipContents.getTransferDataFlavors()
Сall oText.insertString(oCursor,oClipContents.getTransferData(oTypes(0)),False)Код: Array arr = new Array(Types::String);
COMVariant arg;
COM OpenOffice, Desktop, Document, oClip, oClipContents;
COM Sheets, Sheet, Cell, oCursor;
COMVariant oTypes;
;
OpenOffice = new Com("com.sun.star.ServiceManager");
Desktop = OpenOffice.createInstance("com.sun.star.frame.Desktop");
arg = COMVariant::createFromArray(arr);
Document = DeskTop.LoadComponentFromURL("private:factory/scalc", "_blank", 0, arg);
oClip = OpenOffice.CreateInstance("com.sun.star.datatransfer.clipboard.SystemClipboard");
oClipContents = oClip.getContents();
oTypes = oClipContents.getTransferDataFlavors();
Sheets = Document.getSheets();
Sheet = Sheets.getByIndex(0);
Cell = Sheet.getCellByPosition(2,2);
oCursor = Cell.createTextCursor();
oCursor.gotoStart(false);
Cell.insertString(oCursor, oClipContents.getTransferData(oTypes[1]), False); |
|
|
|
|
#6 |
|
Участник
|
>>>Проблема с последней строкой, как сделать что бы брался oTypes[1] ?
Попробуйте oTypes.Item(1) |
|
|
|
|
#7 |
|
Участник
|
Это если это коллекция (да и то надо сначала ее из вартанта вытянуть), а вот если это SafeArray, то. oTypes.safeArray().value(1)
|
|
|
|
|
#8 |
|
Участник
|
Спасибо. Сработала такая строчка
Код: Cell.insertString(xTextCursor, xClipContents.getTransferData(oTypes.value(2)), false); ![]() ну и вставилось в другой кодировке, буду копать дальше. |
|
|
|
|
#9 |
|
Участник
|
|
|
|
|
|
#10 |
|
Участник
|
|
|
|
| Теги |
| openoffice |
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| Как открыть шаблон в OpenOffice? | 28 | |||
| DeniZone: OpenOffice and Dynamics ax | 0 | |||
| Проблема с передачей контролов из формы в класс | 0 | |||
| OpenOffice форматирование | 8 | |||
| Axapta+OpenOffice | 3 | |||
|