|
18.09.2007, 14:31 | #1 |
Участник
|
Ищу класс для работы с OpenOffice
Есть ли готовый класс для работы с OpenOffice ?
|
|
18.09.2007, 17:30 | #2 |
Участник
|
Форум выводит схожие, по его мнению, темы внизу, однако в этот раз он показывает что-то совсем не то... Хотя готовых классов, что бы вы под этом ни подразумевали, не публиковалось, тем не менее, в похожих темах были куски кода под различные задачи
Axapta+OpenOffice OpenOffice форматирование Как открыть шаблон в OpenOffice? Также была ссылка на форум OpenOffice.org |
|
19.09.2007, 13:48 | #3 |
Участник
|
Ссылка должна помочь. Сам не пробовал.
|
|
20.09.2007, 06:55 | #4 |
Участник
|
Спасибо за ответы. А работал ли кто с буфером обмена? Средствами аксапты заполняется буфер и надо вставить содержимое в OpenOffice Calc.
|
|
21.09.2007, 08:09 | #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); |
|
21.09.2007, 09:59 | #6 |
Участник
|
>>>Проблема с последней строкой, как сделать что бы брался oTypes[1] ?
Попробуйте oTypes.Item(1) |
|
21.09.2007, 10:00 | #7 |
Участник
|
Это если это коллекция (да и то надо сначала ее из вартанта вытянуть), а вот если это SafeArray, то. oTypes.safeArray().value(1)
|
|
21.09.2007, 10:43 | #8 |
Участник
|
Спасибо. Сработала такая строчка
Код: Cell.insertString(xTextCursor, xClipContents.getTransferData(oTypes.value(2)), false); ну и вставилось в другой кодировке, буду копать дальше. |
|
21.09.2007, 10:45 | #9 |
Участник
|
|
|
12.12.2007, 10:57 | #10 |
Участник
|
|
|
Теги |
openoffice |
|
Похожие темы | ||||
Тема | Ответов | |||
Как открыть шаблон в OpenOffice? | 28 | |||
DeniZone: OpenOffice and Dynamics ax | 0 | |||
Проблема с передачей контролов из формы в класс | 0 | |||
OpenOffice форматирование | 8 | |||
Axapta+OpenOffice | 3 |
|