Пользовательский формат даты в Microsoft Word 2016

0

Я хотел бы иметь возможность вставить формат даты в Microsoft Word, который не входит в список существующих форматов. В частности, я хочу этот формат:

ДД-  й день месяца, ГГГГ

Дэнни Ареналес
источник

Ответы:

3

Я предполагаю, что вы говорите об одном из нескольких значений даты, которые Word предлагает в полях. Я также предполагаю, что вы вставляете поля через ленту / графический интерфейс и знаете, как это сделать. ОК, когда вы находитесь в окне настроек «Поле» и выбрали желаемую дату («Дата создания», (текущая) Дата, «Дата печати» или «Дата сохранения»), нажмите «Коды полей». Появится панель «Расширенные свойства поля» с текстовым полем «Коды полей:», в котором предварительно указано имя поля, выбранного вами слева (которое является просто отображаемым именем в заглавных буквах; например, «CREATEDATE», «ДАТА» и т. Д.)

Вставьте \@ "d'th day of' MMMM, yyyy"после этого имени поля; например,

Панель «Дополнительные свойства поля»

Нажмите «ОК».

О, я также предполагаю, что вы хотите, чтобы месяц был прописан. Если вы хотите использовать только трехбуквенное сокращение (например, «Dec»), используйте MMMвместо MMMM.

К сожалению, вы задаете не тот вопрос. Да, этот вопрос был задан 5 декабря 2017 года, а днем ​​ранее был 4-й. Но предыдущие три дня были 1, 2 и 3 (а не 1, 2 и 3). 21-е, 22-е, 23-е и 31-е также являются исключениями из «-го» правила (но, наоборот, 11-е, 12-е и 13-е не являются). Эта последовательность полей даст правильные порядковые номера для английского языка:

⑴   { set the_date { date } }
⑵   { Set day { the_date \@ “d” } }
⑶   { Set dec { = int(day / 10) } }
⑷   { Set d10 { =mod(day,10) } }
⑸   { Set suffix { If dec = 1 “th” { If d10 = 1 “st” { If d10 = 2 “nd” { If d10 = 3 “rd” “th” } } } } }
⑹   { Set format { Quote “d'” { suffix } “ day of' MMMM, yyyy” } }
⑺   { The_Date \@ { format } }

Номера строк приведены только для иллюстрации / изложения и не являются частью документа / кода. Похоже, что это без учета регистра (кроме формата даты, где mминуты и Mмесяц). И «прямые кавычки» ( прямые цитаты) и «фигурные кавычки» ( фигурные цитаты) кажутся взаимозаменяемыми.

  1. Присвойте дату переменной (технически, «закладка») с именем the_date. Измените последнее слово на createdate, printdateили, savedate если это то, что вы хотите.
  2. Получить номер дня the_date(например, «5 декабря» → 5) и присвоить его переменной day.
  3. Получите десятичную цифру day(например, 5 → 0, 17 → 1, 23 → 2) и назначьте ее переменной dec.
  4. Получите одну цифру day(например, 5 → 5, 17 → 7, 23 → 3) и назначьте ее переменной d10.
  5. Определите соответствующий порядковый суффикс для day. Если dec1, то dayот 10 до 19, а суффикс «th». Если d101, 2 или 3, суффикс будет «st», «nd» или «rd» соответственно. Для всех других значений суффикс «th». Затем присвойте его переменной suffix.
  6. Создайте строку формата, подобную той, которую я использовал в первой части ответа. Объедините d', суффикс ( suffix) из предыдущего шага и  day of' MMMM, yyyy. Это использует трюк (используя quoteполе), который я изучил в сообществе Microsoft ; Я не до конца понимаю это.
  7. В основном это повторение первой части ответа, но отображение в the_dateсоответствии с форматом format.

Чтобы использовать это, скопируйте следующее и вставьте его в документ Word:

set the_date date
Set day the_date \@ "d"
Set dec = int(day / 10)
Set d10 =mod(day,10)
Set suffix If dec = 1 “th” If d10 = 1 “st” If d10 = 2 “nd” If d10 = 3 “rd” “th”
Set format Quote “d'” suffix “ day of' MMMM, yyyy”
The_Date \@ format

(В приведенном выше случае заглавные буквы и интервалы (например, day / 10против day,10) являются произвольными / случайными (кроме formatстроки).)

  1. На первой линии.
    • Выберите date(или тот createdate, который вы используете) и нажмите Ctrl+ F9. Он изменится и может иметь серый фон. Это то же самое преобразование будет происходить каждый раз, когда вы нажимаете + , и в конечном итоге выглядит как первый блок кода (выше) Не вводите фигурные скобки!{ date }CtrlF9
    • Далее выберите всю строку и нажмите Ctrl+ F9.
  2. На второй линии.
    • Выберите the_date \@ “d”и нажмите Ctrl+ F9.
    • Затем выберите всю строку и нажмите Ctrl+ F9.
  3. На третьей строчке.
    • Выберите = int(day / 10)и нажмите Ctrl+ F9.
    • Затем выберите всю строку и нажмите Ctrl+ F9.
  4. На четвертой строчке.
    • Выберите =mod(day,10)и нажмите Ctrl+ F9.
    • Затем выберите всю строку и нажмите Ctrl+ F9.
  5. На пятой строчке.
    • Выберите If d10 = 3 “rd” “th”(в конце строки) и нажмите Ctrl+ F9.
    • Затем выберите If d10 = 2 “nd” { If d10 = 3 “rd” “th” } и нажмите Ctrl+ F9.
    • Затем выберите If d10 = 1 “st” { If d10 = 2 “nd” { If d10 = 3 “rd” “th” } } и нажмите Ctrl+ F9.
    • Затем выберите If dec = 1 “th” { If d10 = 1 “st” { If d10 = 2 “nd” { If d10 = 3 “rd” “th” } } } и нажмите Ctrl+ F9.
    • Затем выберите всю строку и нажмите Ctrl+ F9.
  6. На шестой строчке.
    • Выберите suffixи нажмите Ctrl+ F9.
    • Затем выберите Quote “d'” { suffix } “ day of' MMMM, yyyy” (т. Е. От Quoteдо конца строки) и нажмите Ctrl+ F9.
    • Затем выберите всю строку и нажмите Ctrl+ F9.
  7. На седьмой строчке.
    • Выберите formatи нажмите Ctrl+ F9.
    • Затем выберите всю строку и нажмите Ctrl+ F9.

Обратите внимание, что строка 7 является единственной, которая фактически производит любой текст; первые шесть настроены и могут быть перемещены где-нибудь как начало документа. Возможно, вы захотите удалить разрывы абзацев между полями, чтобы они не занимали много места по вертикали. Затем выберите все поля (или весь документ, например, с помощью Ctrl+ A) и нажмите F9( не Ctrl + F9). Поля (кроме последнего) могут исчезнуть. Если это так, это нормально, и все готово. Если они не исчезают, нажмите Shift+ F9  (опять же, не Ctrl + F9), и это должно сделать это.


PS Я проверил это на Word 2013, и вот откуда скриншот.

G-Man
источник