|
28.08.2017, 11:44 | #1 |
Участник
|
LibreOffice (OpenOffice) вставка строк из буфера обмена
Знатокам OpenOffice
Пытаюсь вставить в SCalc аналогично как в Excel: X++: void pasteData() { TextBuffer tb = new TextBuffer(); COM cell; Com dispatcher; COM controller; COM frame; ; tb.appendText('Поле11\tПоле21\tПоле31\tПоле41\tПоле51\n'); tb.appendText('Поле12\tПоле22\tПоле32\tПоле42\tПоле52\n'); tb.toClipboard(); dispatcher = app.CreateInstance('com.sun.star.frame.DispatchHelper'); cell = sheet.getCellRangeByName('A8'); controller = doc.GetCurrentController(); controller.select(Cell); frame = controller.GetFrame(); dispatcher.executeDispatch(frame, '.uno:Paste', '', 0, COMVariant::createFromArray(new Array(Types::Class))); } После нажатия на ОК все нормально вставляется. Как избавиться от запроса? Спасибо |
|
29.08.2017, 07:13 | #2 |
Участник
|
Поробуйте ".uno:ClipboardFormatItems"
PS: а еще вроде и вставать в ячейку можно с помощью ".uno:GoToCell" |
|
29.08.2017, 10:25 | #3 |
Участник
|
Не помогло. При простой замене операции вообще ничего не произошло (не вставило данные).
После добавления параметра (PropertyValue) 'SelectedFormat' опять получил диалог. Вставлять поячеечно можно, но, на примере Екселя, очень долго. Быстрее вставить всю таблицу одной командой |
|
29.08.2017, 10:59 | #4 |
Участник
|
Цитата:
Я не про это, а про вашу подготовку с помощью cell и select. А вот в ссылке выше также подготавливают для вставки с помощью ".uno:GoToCell". Для однообразности так сказать попробуйте. |
|
29.08.2017, 15:35 | #5 |
Участник
|
Цитата:
Сообщение от Player1
Давайте тогда почитаем тут про ".uno:InsertRows" http://delphimaster.net/view/1-1222968605
Я не про это, а про вашу подготовку с помощью cell и select. А вот в ссылке выше также подготавливают для вставки с помощью ".uno:GoToCell". Для однообразности так сказать попробуйте. Проверил, это работает. Но необходимо вставить строки вставленные в буфер обмена из АХ с помощью TextBuffer. Подозреваю, что TextBuffer и SCalc копируют строки в буфер обмена по разному. Формат вроде одинаковый, может разница в кодировке, но я пока разницу не обнаружил. |
|
29.08.2017, 10:57 | #7 |
Участник
|
Знатоки OpenOffice наверно сидят на OpenOffice форуме и обсуждают такие проблемы там
|
|