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

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

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

1 ответ

Я предполагаю, что вы говорите об одном из нескольких значений даты, которые 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, Если dec 1, то day от 10 до 19, а суффикс "th". Если d10 равно 1, 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 } и может иметь серый фон. Это то же самое преобразование будет происходить каждый раз, когда вы нажимаете Ctrl + F9, в конечном итоге выглядя как первый блок кода (как показано выше). Не вводите фигурные скобки!
    • Далее выделите всю строку и нажмите 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, и вот откуда скриншот.

Другие вопросы по тегам