[ID CC-CC2022] Отрывной календарь с обратным отсчетом

Uta191

Топикстартер
10 лет на форуме
Сообщения
38
Реакции
0
Всем добра!
Подскажите, не знаю как лучше реализовать задачу.
Для инсталляции сделать отрывной календарь, с обратным отсчетом дней. Я понимаю, что, генератором чисел я могу раскидать цифры от 380 до 1 по одной на лист, но вот еще внизу каждого листа должен проставляться день, месяц и год:

Получается что-то типа (можно так же превью посмотреть):

"380
понедельник 26 апреля"

Понимаю, что это все можно реализовать скриптами, но вот меня именно смущает сочетание дня недели и числа, везде скрипты под перекидные календари заточены, не могу найти то, что нужно. Буду рада, если дадите наводку на какой-то скрипт. Огромное спасибо.
 

Вложения

  • Screenshot 2019-03-28 at 12.38.04.png
    Screenshot 2019-03-28 at 12.38.04.png
    177.2 КБ · Просм.: 719
Я бы просто сформировал последовательность в Excel и залил в цепочку фреймов, по одному на странице.
 
  • Спасибо
Реакции: NNN5, langry и Uta191
Первая мысль: таблицу в Excel сделать.
Первая графа — дата (потом не идёт в работу), формат ячейки "дата", формула "плюс один" от предыдущей.
Вторая — остаток дней (формула "минус 1").
Третья — формула Excel "день недели" от первой графы.
Далее — по формулам Excel "день" и "месяц".

Затем сделайте в последней графе нечто вроде
=СЦЕПИТЬ ()
в скобках расставьте #"Вторая графа"; символ @, например; затем "Третья графа", символ пробела; "Четвёртая" и "Пятая" графы.
=СЦЕПИТЬ ("#";B1;"@";C1;" ";D1;" ";E1)

Получите склеенную ячейку типа
#380@понедельник 26 апреля

Экспортируйте в Ворд последние ячейки, там выделите эту таблицу, "Таблица-Преобразовать в текст".
Получите поток строк типа
#380@понедельник 26 апреля
#379@вторник 27 апреля
#378@среда 28 апреля

Скопируйте в Блокнот и перенесите в Индизайн.
Затем сделайте на мастер-шаблоне фрейм для автоматической разливки.
Сам полученный текст улучшите:
0) всему тексту присвойте стиль, нужный во второй строке (день недели, день, месяц)
1) сделайте СтильАбзаца для числа "Остаток дней"
2) замените @ на "конец параграфа"
3) переприсвойте строкам с символом # — СтильАбзаца "Остаток дней"
4) удалите символ #.
 
Последнее редактирование:
  • Спасибо
Реакции: Uta191 и LeonidB
А можно примерно так же, только без формул, ворда и блокнота.
В экселе пишутся два соседних значения последовательности друг под другом, эти две ячейки выделяются и растягиваются вниз — заполнение последовательности происходит автоматически.
В первой колонке число остатка, во второй день недели, в третьей дата.
Единственная тонкость —задать нужный формат даты.
Потом вся получившаяся таблица копируется в InDesign, преобразуется в текст, затем нужные замены и заливка.
Присвоить стили можно тоже автоматом, определив в абзацных стилях "следующий стиль".
 
наверное и скриптом можно... примерно по такому принципу -

Код:
const monthNames = ["Январь", "Фервраль", "Березень", "April", "мЯу", "Июнь",  "Июль", "Август", "В ШКОЛУ", "Октябрь", "ябрь...", "ябрь.."
];

const d = new Date();
alert("сейчас " + monthNames[(d.getMonth()+1)]);


перебрать даты и месяца :)
 
  • Спасибо
Реакции: Uta191 и Валера1966
В Екселе вводите дату когда должен начаться календарь, нажимаете Ctrl+1, категория Custom, вставляете это:
Код:
dddd, [$-10819]dd mmmm yyyy
У меня локаль не русская, поэтому в квадратных скобках указывается некий код русской локали.
В соседнем столбце пишете 380, ячейкой ниже — 379. Растягиваете оба диапазона, пока в правом столбце не появится ноль.
Далее сохраняйте в текст и Data Merge.
 
  • Спасибо
Реакции: NNN5, RIKITIKI и Uta191
Код:
dddd, [$-10819]dd mmmm yyyy

В русской локализации:
ДДДД [$-ru-RU-x-genlower]Д ММММ ГГГГ "г."

Код x-genlower:
"gen" — genitive (родительный падеж),
"lower" — нижний регистр.
Есть ещё варианты genupper и nomlower (nom — именительный).

(Data Merge штука хорошая, но в подобных случаях слегка излишняя.)
 
Всем огромное спасибо, как-то меня зациклило на скриптах, думаю, ваш вариант с exel и его настройками суперский! Очень выручаете!
 
Первая мысль: таблицу в Excel сделать.
Первая графа — дата (потом не идёт в работу), формат ячейки "дата", формула "плюс один" от предыдущей.
Вторая — остаток дней (формула "минус 1").
Третья — формула Excel "день недели" от первой графы.
Далее — по формулам Excel "день" и "месяц".

Затем сделайте в последней графе нечто вроде
=СЦЕПИТЬ ()
в скобках расставьте #"Вторая графа"; символ @, например; затем "Третья графа", символ пробела; "Четвёртая" и "Пятая" графы.
=СЦЕПИТЬ ("#";B1;"@";C1;" ";D1;" ";E1)

Получите склеенную ячейку типа
#380@понедельник 26 апреля

Экспортируйте в Ворд последние ячейки, там выделите эту таблицу, "Таблица-Преобразовать в текст".
Получите поток строк типа
#380@понедельник 26 апреля
#379@вторник 27 апреля
#378@среда 28 апреля

Скопируйте в Блокнот и перенесите в Индизайн.
Затем сделайте на мастер-шаблоне фрейм для автоматической разливки.
Сам полученный текст улучшите:
0) всему тексту присвойте стиль, нужный во второй строке (день недели, день, месяц)
1) сделайте СтильАбзаца для числа "Остаток дней"
2) замените @ на "конец параграфа"
3) переприсвойте строкам с символом # — СтильАбзаца "Остаток дней"
4) удалите символ #.
Спасибо! Все было бы шикарно, если б я так не тупила с exel, буду разбираться.
 
А можно примерно так же, только без формул, ворда и блокнота.
В экселе пишутся два соседних значения последовательности друг под другом, эти две ячейки выделяются и растягиваются вниз — заполнение последовательности происходит автоматически.
В первой колонке число остатка, во второй день недели, в третьей дата.
Единственная тонкость —задать нужный формат даты.
Потом вся получившаяся таблица копируется в InDesign, преобразуется в текст, затем нужные замены и заливка.
Присвоить стили можно тоже автоматом, определив в абзацных стилях "следующий стиль".

Прошу прощения, а прям и день недели будет меняться? А звучит все шикарно, ушла пробовать. Спасибо!
 
День недели — такой же атрибут даты, как число и месяц, чего бы ему не меняться.
Только удобнее всё же соединить день недели и число-месяц в одной ячейке, как указано после процитированного.
 
  • Спасибо
Реакции: NNN5 и Валера1966
В русской локализации:
ДДДД [$-ru-RU-x-genlower]Д ММММ ГГГГ "г."

Код x-genlower:
"gen" — genitive (родительный падеж),
"lower" — нижний регистр.
Есть ещё варианты genupper и nomlower (nom — именительный).

(Data Merge штука хорошая, но в подобных случаях слегка излишняя.)
Превратилось в арабский в английской локализации.
Если написать вот так
Код:
dddd, [$-FC19] d mmmm yyyy
то работает, но вместо «Понедельник» пишет «Monday». Так что придется делать два столбца.
 
то работает, но вместо «Понедельник» пишет «Monday». Так что придется делать два столбца.
Ну, я для русской написал.

Кстати, для русской локализации при работе вручную вся эта морока с форматом не нужна.
Формат даты с родительным падежом месяца в нижнем регистре доступен изначально под названием "длинный формат даты".
Это если программно задавать формат, тогда эти коды понадобятся.
 
День недели — такой же атрибут даты, как число и месяц, чего бы ему не меняться.
Только удобнее всё же соединить день недели и число-месяц в одной ячейке, как указано после процитированного.
Я делаю постепенно🤣, когда начали меняться дни недели, чуть со стула не свалилась от радости... вау
 
День и месяц сделаны, а вот обратный отсчет чет-то никак. Я решила сделать уже на месте, внедрю в поле с цифрой отсчет страниц, там по-моему можно сделать реверсивный. Или совсем бред?
 
День и месяц сделаны, а вот обратный отсчет чет-то никак.
А что не выходит?
Пишете в ячейке, например, 340.
В ячейке под ней 339.
Выделяете эти две ячейки и растягиваете вниз за уголок.
 
А что не выходит?
Пишете в ячейке, например, 340.
В ячейке под ней 339.
Выделяете эти две ячейки и растягиваете вниз за уголок.
таким образом у меня только нижняя цифра много раз дублируется. Но я формулу подставила, получилось. Теперь следующая дурацкая проблема ведь в дата мердже потом каждая переменная встает на отведенное ей место, и, видимо в exel надо слить столбики с днями и столбики с месяцем и числом. Вот бьюсь теперь над этим.
 
видимо в exel надо слить столбики с днями и столбики с месяцем и числом. Вот бьюсь теперь над этим.
Ctrl+С
Блокнот
Ctrl+V

При необходимости -- табуляции заменить на пробелы
 
  • Спасибо
Реакции: NNN5