|  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 | |||
| 
 |