Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

27 Октябрь 2021, 12:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1 2 »   Вниз
  Печать  
Автор Тема: как перемещать строки с содержимым?  (Прочитано 15509 раз)
0 Пользователей и 1 Гость смотрят эту тему.
medik2016
Новичок
*
Offline Offline

Сообщений: 1


« Стартовое сообщение: 20 Декабрь 2016, 21:58 »

Здравствуйте форумчане!
Уже несколько месяцев на работе мучаюсь с одной проблемой.
Часто приходится работать с таблицами в writer или лайбрари в виде списков.
Часто необходимо перемещать строки с содержимым согласно их приоритетности.
Уже неделю не могу найти ответа как можно воспользоваться такой функцией, может ее
Вообще нет?!
Когда искал нашел решение для ворда. Там такая проблема легко решается сочетанием клавиш shift+alt+стрелочки вниз или вверх. Описано как пример в данной статье http://office-guru.ru/word/kak-bystro-peremestit-stroku-v-tablice-word-2013-59.html
Помогите пожалуйста. Буду преиного благодарен!
Записан
kompilainenn
Мастер
*****
Offline Offline

Сообщений: 3 358



« Ответ #1: 20 Декабрь 2016, 22:18 »

в райтере такой функции я не нашел, буду рад, если более опытные товарищи ткнут носом. как вариант - таблицу перенести в Calc и использовать возможности сортировки и фильтра там?
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
bormant
Глобальный модератор
*
Offline Offline

Сообщений: 941



« Ответ #2: 20 Декабрь 2016, 23:05 »

Абзацы Writer можно двигать по Ctrl+Alt+Вверх/Вниз.
А вот строки таблицы так не подвигать...
Причем, абзацы внутри ячейки тоже не двигаются.

Прямо-таки готовый фичереквест.
« Последнее редактирование: 20 Декабрь 2016, 23:10 от bormant » Записан

Автору на яд. Поддержать форум.
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 115


iMac, LibreOffice и Apache OpenOffice


« Ответ #3: 20 Декабрь 2016, 23:18 »

А вот строки таблицы так не подвигать...
Строки в таблице можно перетаскивать мышкой, предварительно вставив новую строку в нужном месте.
Записан

rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 115


iMac, LibreOffice и Apache OpenOffice


« Ответ #4: 20 Декабрь 2016, 23:22 »

как вариант - таблицу перенести в Calc и использовать возможности сортировки и фильтра там?
Сортировать можно и в таблице Writer
Записан

bormant
Глобальный модератор
*
Offline Offline

Сообщений: 941



« Ответ #5: 23 Декабрь 2016, 03:20 »

rami,
Шурик, вы комсомолец? Это же не наш метод... (q)
Не отрывая рук от клавиатуры всегда было большим плюсом OOo/LO. Неплохо б восстановить статус кво.
Записан

Автору на яд. Поддержать форум.
economist
Форумчанин
***
Offline Offline

Сообщений: 1 553


« Ответ #6: 23 Декабрь 2016, 08:47 »

1) Можно написать макрос под shift+alt+стрелочки вниз или вверх

2) Можно автоматизировать само формирование таблицы как надо, задействовав имеющиеся механизмы. Например автосписок иллюстраций или список литературы (ссылок) - сделать на стилях, в виде таблицы с рамками, - нефиг делать. Из поста не ясно что делается.

Важно понять причину - почему приходится часто менять порядок строк в таблице, возможно лучше это делать в Calc, а во Writer отображать её как связь по DDE.

А идея с пересортировкой во Writer (для этого должна быть колонка с № п/п) - самая правильная. Если приходится переставлять, скажем, 4 строки из 10 - обязательно будет ошибка или трата времени, сортировка - 100% будет лучше и быстрее.   
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 115


iMac, LibreOffice и Apache OpenOffice


« Ответ #7: 23 Декабрь 2016, 09:13 »

Шурик, вы комсомолец? Это же не наш метод... (q)
Спалили... Афро
Не отрывая рук от клавиатуры всегда было большим плюсом OOo/LO. Неплохо б восстановить статус кво.
Вроде и раньше строки в таблице не перемещались, так, что отрывать руки (от клавиатуры Смеющийся) вроде бы некому.

А вообще, эта возможность была бы полезна.
Записан

mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 344


« Ответ #8: 23 Декабрь 2016, 12:44 »

Абзацы Writer можно двигать по Ctrl+Alt+Вверх/Вниз.
А вот строки таблицы так не подвигать...
Причем, абзацы внутри ячейки тоже не двигаются.

Прямо-таки готовый фичереквест.

В таблице эта комбинация клавиш зарезервирована под какое-то действие с вертикальным размером ячейки (не строки) - я пока не нашёл как его посмотреть; код по условию KS_CellBottomSmall здесь.

Можно назначить действие по перемещению абзаца другой комбинации.

Что касается перемещения строк таблицы - не нахожу такого действия, равно как и фичереквеста.
Записан

С уважением,
Михаил Каганский
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #9: 23 Декабрь 2016, 13:18 »

перемещения строк таблицы - не нахожу такого действия
ИМХО, только ИМХО...
Действия по редактированию текста - реализуются просто и понятно, структура документа сама подсказывает возможные варианты действий. Все эти смена уровней нумерации, обмен абзацев местами и прочее - "родные" действия структурированного документа.
А "текстовая таблица" текстом не является, это внедренный объект, как ни крути.
Можно, конечно, "нырнуть" на уровень внедренного объекта, допросить его с пристрастием о имеющихся свойствах/методах и вытащить их наверх, на уровень документа. Ну, что-то вроде того, что hanya в MRI сделал, только чуть "пользователеориентированно".
Но давайте здесь ударим по тормозам и оглядимся.
"Текстовая таблица" далеко не единственный объект, который может быть внедрен в документ.
Как должны будут реагировать на, скажем, Ctrl+Alt+Вверх/Вниз такие "внедренцы" как картинка или формула?
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 344


« Ответ #10: 23 Декабрь 2016, 13:48 »

Не согласен.
Таблица с точки зрения writer - не внедренец Улыбка
На Ctrl+Alt+Вверх/Вниз реагирует абзац. Поэтому если курсор в абзаце, и комбинация клавиш не перехвачена (что мы имеем в нашем случае), то абзац и должен двигаться. И это произойдёт в т.ч. и в таблице, если заменить Ctrl+Alt+Вверх/Вниз на что-то позаковыристей (я, например, опробовал на Ctrl+Shift+Alt+W/S).

Картинка и формула - это реально внедренцы. Но если они привязаны как символ, данная комбинация логично должна примениться к абзацу, в котором этот "символ".

Насчёт перемещения строк таблицы - это отдельная песня, и если такая функция появится, она явно будет привязана на другую комбинацию.

С другой стороны, эта функция (перемещения строк таблицы) прямо напрашивается на неприятности, как только появляются объединённые ячейки. Прямо-таки краш неизбежен. Конечно, возможен вариант, что мы перед перемещением проверяем, нет ли в строке ячеек с атрибутом объединения... надеюсь, это единственная проблема.
« Последнее редактирование: 23 Декабрь 2016, 13:58 от mikekaganski » Записан

С уважением,
Михаил Каганский
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 115


iMac, LibreOffice и Apache OpenOffice


« Ответ #11: 23 Декабрь 2016, 13:59 »

Картинка и формула - это реально внедренцы. Но если они привязаны как символ, данная комбинация логично должна примениться к абзацу, в котором этот "символ".
Не только "как символ" или "к символу", но и "к абзацу" — перемещаются с абзацем.
Записан

JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #12: 23 Декабрь 2016, 14:03 »

Не согласен.
Ну, я же предупредил - ИМХО
Таблица с точки зрения writer - не внедренец Улыбка
А вот тут уже я не согласен (или мы путаемся в русскоязычной неоднозначной терминологии)
Да, таблица входит в отдельную коллекцию TextTables и на этом основании может рассматриваться как часть документа.
С другой стороны, давай глянем как API предлагает создавать и внедрять этот объект.
Код:
oTable = ThisComponent.createInstance("com.sun.star.text.TextTable")
oTable.initialize(3, 3)   'oTable.setName("чего-то там такое")  и прочее
oText.insertTextContent(ThisComponent.getCurrentController().getViewCursor(), oTable, False)
Это немного отличается от простого .insertString(), правда?

А вообще-то, проблема действительно возникла из-за того, что medik2016 изначально выбрал не тот инструмент для решения своих задач.
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 115


iMac, LibreOffice и Apache OpenOffice


« Ответ #13: 23 Декабрь 2016, 14:05 »

С другой стороны, эта функция (перемещения строк таблицы) прямо напрашивается на неприятности, как только появляются объединённые ячейки. Прямо-таки краш неизбежен. Конечно, возможен вариант, что мы перед перемещением проверяем, нет ли в строке ячеек с атрибутом объединения... надеюсь, это единственная проблема.
С третьей стороны, строки с объединёнными ячейками перетаскиваются мышем без краша Смеющийся
Записан

mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 344


« Ответ #14: 23 Декабрь 2016, 14:14 »

JohnSUN, на самом деле тут просто особенность API для этого. А на уровне ядра это вполне себе равнозначные объекты. (Должен признаться, что я вообще дуб в StarBASIC API.)

Насчёт неправильно выбранного инструмента - полностью ку. Я тут просто заинтересовался самой функцией, без привязки к задаче.

rami, насчёт "перетаскивания": ну, можно на это посмотреть и так. На самом деле, при перетаскивании мышью происходит замена *содержимого* результирующих строк, а не перемещение *строк* таблицы: это можно увидеть, если "покрасить" таблицу (или применить разные границы).

Я себе представлял функцию реальной сменой мест реальных объектов "строка таблицы" со всеми вытекающими...
« Последнее редактирование: 23 Декабрь 2016, 14:23 от mikekaganski » Записан

С уважением,
Михаил Каганский
Страниц: 1 2 »   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!