Я хотел бы иметь возможность вставить формат даты в Microsoft Word, который не включен в список существующих форматов. В частности, я хочу этот формат:
ДД- й день месяца, ГГГГ
Я хотел бы иметь возможность вставить формат даты в Microsoft Word, который не включен в список существующих форматов. В частности, я хочу этот формат:
ДД- й день месяца, ГГГГ
Я предполагаю, что вы говорите об одном из нескольких значений даты, которые 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 - месяц).
И "прямые цитаты" (
) и "фигурные цитаты" (
) кажутся взаимозаменяемыми.
the_date .
Измените последнее слово на createdate , printdate или savedate если вы этого хотите.the_date (например, «5 декабря» → 5) и назначьте его переменной day .day (например, 5 → 0, 17 → 1, 23 → 2) и назначьте ее переменной dec .day (например, 5 → 5, 17 → 7, 23 → 3) и присвоить ее переменной d10 .day .
Если dec равен 1, то day находится между 10 и 19, а суффикс «th».
Если d10 равен 1, 2 или 3, суффикс будет «st», «nd» или «rd» соответственно.
Для всех остальных значений суффикс «th».
Затем присвойте его suffix переменной.d' , суффикс (suffix) из предыдущего шага и day of' MMMM, yyyy .
Это использует трюк (используя поле quote), который я изучил в сообществе Microsoft ; Я не до конца понимаю это.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).)
date (или createdate , или какую вы используете) и нажмите Ctrl+F9.
Он изменится на { date } и может иметь серый фон.
Это то же самое преобразование будет происходить каждый раз, когда вы нажимаете Ctrl+F9 , в конечном итоге выглядело как первый блок кода (выше).
Не вводите фигурные скобки!the_date \@ “d” и нажмите Ctrl+F9.= int(day / 10) и нажмите Ctrl+F9.=mod(day,10) и нажмите Ctrl+F9.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.suffix и нажмите Ctrl+F9.Quote “d'” { suffix } “ day of' MMMM, yyyy” (т.е. от Quote до конца строки) и нажмите Ctrl+F9.format и нажмите Ctrl+F9.Обратите внимание, что строка 7 является единственной, которая на самом деле производит любой текст; первые шесть настроены и могут быть перемещены где-то как начало документа. Возможно, вы захотите удалить разрывы абзаца между полями, чтобы они не занимали много места по вертикали. Затем выберите все поля (или весь документ, например, с помощью Ctrl+A) и нажмите F9 (не Ctrl+F9). Поля (кроме последнего) могут исчезнуть. Если это так, это нормально, и все готово. Если они не исчезают, нажмите Shift+F9 (опять же, не Ctrl+F9), и это должно сделать это.
PS Я проверил это на Word 2013, и вот откуда скриншот.