Разные вопросы

Автор And589, 18 ноября 2013, 21:31

0 Пользователи и 1 гость просматривают эту тему.

And589

1) Почему в Libreoffice не работает Style в любом написании, например =A1+STYLE("Red") не разукрашивает ячейку, ни текст, ничего не изменяет ячейку или текст?

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

3) Еще вопрос, как можно создать 1000 столбцов с формулой из одного столбца переместив на 1 ячейку, чтобы определенный параметр формулы каждой ячейки сменился на 1 ячейку, а другой параметр на 2 ячейки, или всегда необходимо вручную перебирать и изменять тысячи ячеек?

JohnSUN

Цитата: And589 от 18 ноября 2013, 21:31
1) Почему в Libreoffice не работает Style в любом написании, например =A1+STYLE("Red") не разукрашивает ячейку, ни текст, ничего не изменяет ячейку или текст?
А стиль Red уже создан и содержит нужное оформление, цвет фона и шрифта? Если ещё нет, то нужно нажать F11 (появится окно "Стилиста"), потом щелчок правой кнопкой и "Создать"... См. картинку

Цитата: And589 от 18 ноября 2013, 21:312)И еще вопрос не относящийся к теме, макросами действительно можно сделать очень многое в calc? Например, динамическую фильтрацию, плавающие окна экрана и кнопки для нажатия, подключение и автоматическое получения данных, хранения информации во внутренней базе данных calc-файла (если такое возможно, как SQL) и многое другое и нужен только язык скриптов cacl?
Всё верно. Не совсем понял, что имелось в виду под "плавающими окнами экрана". Окна диалогов, что ли? Язык скриптов не столько calc, сколько всего офиса - на StarBasic'е пишут скрипты для любой из "ипостасей" офиса: для Writer, для Base, для Draw... Но это не единственный язык, который понимает офис! См. вторую картинку

Цитата: And589 от 18 ноября 2013, 21:313) Еще вопрос, как можно создать 1000 столбцов с формулой из одного столбца переместив на 1 ячейку, чтобы определенный параметр формулы каждой ячейки сменился на 1 ячейку, а другой параметр на 2 ячейки, или всегда необходимо вручную перебирать и изменять тысячи ячеек?
Нет, перебирать и изменять тысячи ячеек - плохая идея: компьютер сделан чтобы облегчать человеку жизнь, а не грузить его лишней работой. Есть несколько функций, которые позволяют вычислить нужные адреса ячеек и обратиться к их содержимому. Подробнее сможем рассказать, когда приведешь пример таблицы с нужными формулами...

[вложение удалено Администратором]
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

And589

#2
Спасибо за ответы, насчет третьего вопроса нужно чтобы диапазон A1:A10 сместился на 1 ячейку влево, а ячейка B20 на 2 ячейки влево на много копий
=IF(COUNTIF(A1:A10;B20)>0;"2";"")

Еще хотелось бы задать 3 вопроса

1) Почему в Libreoffice 4 есть горизонтальная граница, дальше которой нельзя заполнять ячейки? В Excel не было ограничений по горизонтали?
2) Как защитить ячейки от изменения, не защита документа с паролем, а чтобы некоторые ячейки были только чтение, выполняли действия полностью, но их нельзя было бы изменить, удалить или заменить без выключения защиты?
3) Почему в скриптовом языке Autoit 3 для автоматизации действий программно Microsoft Excel и Work разделяются на определяемые ячейки, т.е. они видны для Autoit 3 как отдельные ячейки, а Libreoffice для Autoit 3 как одно окно, без определения ячеек. Наверно Libreoffice написан по-другому, но можно ли как-то обойти это, чтобы Autoit 3, его программа приложение Au3Info, могло определять ячейки, а не только одно окно целиком.

JohnSUN

Ой-ой-ой, сколько вопросов в теме про STYLE()!!!
Если кто-то когда-то станет искать подсказку про защиту ячеек или про адреса в формулах, как ты думаешь - догадается заглянуть в "Формула Style не изменяет ячейку"? Наверное, не догадается... Поэтому и придумано правило: один вопрос - одна отдельная тема...

По твоему COUNTIF есть встречные вопросы: 1. Эта формула в каком столбце/строке находится, в C20? 2. Тебе точно нужна двоечка символьная, а не числовая?

1. В LiO 4.x эта граница находится после колонки AMJ, то есть всего доступно 1024 колонки (2 в 10-ой степени). В Excel-2010 она тоже есть, но немного дальше - после 16384-ой колонки с именем XFD. Такие длинные строки ячеек появились не так давно. Еще в Excel-2003 их было всего-то 256, последняя колонка называлась IV
2. Загляни в формат ячейки (Ctrl+1). В последней вкладке "Защита ячейки" есть четыре "птички", та, которая "Защищено" по умолчанию установлена. Нужно снять её для ячеек, которые пользователю разрешается редактировать, и в меню Сервис выбрать "Защитить документ"-"Лист", снять галочки с ненужных пунктов и нажать ОК
3. Вопросы по AutoIt лучше, наверное, задавать на их форуме
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

And589

#4
Спасибо за ответы, изменил название темы, насчет разного уровня сдвига ячеек в формуле, прикрепляю файл с ifolder


JohnSUN

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

Даю два варианта: один именно решение той задачи, которая формулировалась, а второй - альтернативное оформление таблицы, которое не требует пересчета адресов, поскольку результат вычислений находится в той же колонке, где и данные. Второй и третий способы, в принципе, один и тот же вариант, отличаются только местом приложения стиля - во втором это функция STYLE(), а в третьем - условное форматирование

PS. Словосочетание "как нежно" настолько понравилось, что даже не стал его исправлять  ;D

[вложение удалено Администратором]
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

And589

Можно ли отключить проверку ячеек на формулы, если формул очень много (наверно, неправильно написаны, не макросами, но нужны) и перенос любой ячейки длится 15-20 секунд? Чтобы можно было быстро перестроить все поле, а потом включить выполнение формул.

JohnSUN

Сервис-Содержимое ячейки-Вычислять автоматически?
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

And589

Отменил, но все равно очень долго перемещаются ячейки, долго не вводятся и считаются цифры, а долго перемещаются ячейки с одного места на другое, даже на разных листах, на в разных документах не так долго, наверно нельзя изменить.

JohnSUN

А, кажется, догадываюсь, в чем может быть дело... Могу ошибаться, но в данном случае "тормоза" связаны не с пересчетом вставленных формул, а с подвисанием всего офиса на этапе копирования. Это поведение замечено давно, высказывалось несколько гипотез, но, насколько я помню, к общему мнению так и не пришли. (Если бы пришли, то и исправить смогли бы)
Зато путем многократных экспериментов нашли шаманский способ борьбы. Это действительно чистой воды шаманство, но (при умелом обращении с бубном!) оно работает.

Запускаем офис, входим в Диспетчер задач и убиваем все процессы с именем soffice. Запускаем офис еще раз и видим, что тормоза мистическим образом исчезли. И не появятся до следующей перезагрузки.
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

kompilainenn

Цитата: JohnSUN от 26 ноября 2013, 12:18Запускаем офис, входим в Диспетчер задач и убиваем все процессы с именем soffice
их что создается в момент запуска по копии на каждый открываемый документ? О_о
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

JohnSUN

Да нет, обычно всего два - bin и exe
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

kompilainenn

Цитата: JohnSUN от 26 ноября 2013, 15:27Да нет, обычно всего два
ну и если их оба убить, то разве работа офиса не завершится?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

JohnSUN

Ну да, в этом же и заключается шаманство - через жертву (читай "через убийство") к счастливой жизни.
Да, убиваем процессы soffice = гасим запущенный экземпляр офиса. После повторного запуска тормоза, связанные с копированием в буфер обмена (и не только в него) пропадают... иногда... если бубен хороший... А иногда они и не возникают, эти тормоза...
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

kompilainenn

Цитата: JohnSUN от 26 ноября 2013, 15:49После повторного запуска тормоза, связанные с копированием в буфер обмена (и не только в него) пропадают... иногда... если бубен хороший... А иногда они и не возникают, эти тормоза...
ненаучный бред какой-то... типа ошибки 12309 в ядре линукс или того суслика, который есть, а его никто не видит=(
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут