Лист со ссылками на другие листы

Автор mstx, 6 февраля 2018, 20:47

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

economist

Мало делать правильные вещи, их нужно делать еще и самым правильным способом.
В рассмотренном примере - явно не хватает на каждом листе кнопки/гиперссылки "Вернуться к Оглавлению".

И вот-тут то собака и порылась. Если честно разобраться с самыми частыми навигационными действиями - то в 90% это листание листов туда-сюда. Тем более их всегда можно перетащить и расположить рядом (вот почему макросы с индексами сразу - фтопку).

Дык вот, если исходить из объективных потребностей - нужно просто уметь листать листы.  Лучший по скорости и безошибочности способ перехода по листам в разумно большой книге (5-10 листов) - это сочетание клавиш Ctrl+PgUp/PgDn. Проверено электроникой и программой WhatPulse. Он как минимум вдвое быстрее кнопок < > и интерактивных оглавлений. Советую. Кнопки и оглавления тоже не помешают, они могут быть уместны в "частых" документах, но гор. клавиши - правильнее и быстрее.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

mstx

Цитата: economist от  7 февраля 2018, 10:43
Мало делать правильные вещи, их нужно делать еще и самым правильным способом.
В рассмотренном примере - явно не хватает на каждом листе кнопки/гиперссылки "Вернуться к Оглавлению".

И вот-тут то собака и порылась. Если честно разобраться с самыми частыми навигационными действиями - то в 90% это листание листов туда-сюда. Тем более их всегда можно перетащить и расположить рядом (вот почему макросы с индексами сразу - фтопку).

Дык вот, если исходить из объективных потребностей - нужно просто уметь листать листы.  Лучший по скорости и безошибочности способ перехода по листам в разумно большой книге (5-10 листов) - это сочетание клавиш Ctrl+PgUp/PgDn. Проверено электроникой и программой WhatPulse. Он как минимум вдвое быстрее кнопок < > и интерактивных оглавлений. Советую. Кнопки и оглавления тоже не помешают, они могут быть уместны в "частых" документах, но гор. клавиши - правильнее и быстрее.

У меня как раз неприлично большая книга - больше 60 листов :) И листать такой объём очень неудобно. Идеальным для меня вариантом были бы вкладки, находящиеся сбоку. Но они снизу, и оттуда их не сдвинуть, как я понимаю.

Ссылка "Вернуться к Оглавлению" подразумевается. Она будет в листе-шаблоне, копированием которого будут создаваться другие листы.

mikekaganski

Я, конечно, понимаю, что это может быть оффтопик, но Навигатор чем не подходит?
С уважением,
Михаил Каганский

bigor

добавь эту строчку  в цикл и будет ссылка на "Содержание" в а1 на всех листах
ThisComponent.Sheets.getByName("" & array1(i) &"").getCellByPosition(0, 0).setformula("=HYPERLINK(""#Содержание"";""Содержание"")")
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

mstx

Цитата: mikekaganski от  7 февраля 2018, 11:48
Я, конечно, понимаю, что это может быть оффтопик, но Навигатор чем не подходит?

Гениально! Вот что значит хорошо знать базовый функционал))) Навигатор решает 80% моих задач. Навигация с ним меня вполне устраивает. Единственное, почему всё-таки нужен скрипт - на лист с содержанием я ещё кое-какую информацию подтаскиваю с листов.

JohnSUN

Цитата: mikekaganski от  7 февраля 2018, 11:48
Я, конечно, понимаю, что это может быть оффтопик, но Навигатор чем не подходит?
Цитата: mstx от  7 февраля 2018, 11:45
Идеальным для меня вариантом были бы вкладки, находящиеся сбоку. Но они снизу, и оттуда их не сдвинуть, как я понимаю.
Я думаю, что rami сейчас сердито молчит на тему "Да сколько же можно об одном и том же!"  :beer:
Цитата: mstx от  7 февраля 2018, 11:58
Единственное, почему всё-таки нужен скрипт - на лист с содержанием я ещё кое-какую информацию подтаскиваю с листов.
Ну, это традиция - задавая вопрос никогда не рассказать о полной задаче сразу  ;D Что собираешься подтаскивать? Итоговые значения по листу, что ли?

Цитата: Bigor от  6 февраля 2018, 22:48
так?
Ну да. Можно записать чуть короче (например, для LBound/UBound второй параметр не так уж и нужен), можно чуть быстрее (сформировать весь массив формул в массиве и на лист шлёпнуть не по одной ячейке, а всё сразу, с .setFormulaArray). Но вообще-то всё верно. Если не считать последнего уточнения от mstx, мол, это только начало  ;D
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

mstx

Цитата: JohnSUN от  7 февраля 2018, 12:09
Ну, это традиция - задавая вопрос никогда не рассказать о полной задаче сразу  ;D Что собираешься подтаскивать? Итоговые значения по листу, что ли?

Да, сумму значений столбца и значения пары ячеек. Но с этим уже более-менее понятно. Подробно не расписывал специально чтобы не усложнять вопрос :)

mstx

Цитата: Bigor от  7 февраля 2018, 11:49
добавь эту строчку  в цикл и будет ссылка на "Содержание" в а1 на всех листах
ThisComponent.Sheets.getByName("" & array1(i) &"").getCellByPosition(0, 0).setformula("=HYPERLINK(""#Содержание"";""Содержание"")")

Благодарю! Автоматизация - наше всё)

JohnSUN

Цитата: mstx от  7 февраля 2018, 12:33
Подробно не расписывал специально чтобы не усложнять вопрос :)
Будешь смеяться - это уточнение могло сильно облегчить решение: сразу бы сосредоточились на макросе, который собирает из книги все нужные данные и формирует лист-отчет по всей книге, а не искали альтернативные варианты навигации по листам.
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне