1

У меня есть форма на каждый день месяца. Я хочу повторить форму, чтобы слово автоматически увеличивало дату и день недели. Я знаю, как сделать это с Excel с +1, но не на словах.

3 ответа3

1

Я предполагаю, что lmgtfy здесь не разрешен. http://www.dummies.com/how-to/content/how-to-add-the-date-and-time-to-a-word-2010-docume.html

  1. Insert -> Date & Time -> Select a format -> [x] Update automatically -> OK

  2. Клавиатурный

    Введите дату Alt+Shift+D

    Введите время Alt+Shift+T

  3. Insert -> Quick Parts -> Field -> Date and Time -> PrintDate -> Select a format

0

ALT + SHIFT + D вставит дату, и каждый раз, когда вы открываете документ, дата должна корректироваться.

0

Короче говоря, вы должны либо делать это на VBA или другом языке программирования, либо использовать некоторые вложенные коды полей. В любом случае, это не полностью автоматически. Просто используя коды полей, вы можете сделать это так:

На первой странице используйте

{ SET dfmt "DD-MMMM-YYYY" }{ DATE \@{ REF dfmt } }{ SET cd { DATE } }{ SET d { REF cd \@D } }{ SET m { REF cd \@M } }{ SET y { REF cd \@YYYY } }

На каждой странице после этого используйте

{ SET d { =d+1 } }{ IF "{ QUOTE "{ =y }-{ =m }-{ =d }" \@"DD-MM-YYYY" }" = "{ QUOTE "{ =y }-{ =m }-{ =d }" }" "{ SET d 1 }{ IF { =m } = 12 "{ SET m 1 }{ SET y { =y+1 } }" "{ SET m { =m+1 }" }" }" }{ QUOTE "{ =y }-{ =m }-{ =d }" \@{ REF dfmt } }

Некоторые заметки:

Вы можете вставить все специальные пары фигурных скобок {}, используя ctrl-F9 в Windows Word. Использование обычных символов клавиатуры не будет работать. Вы можете использовать ALt-F9 для включения и выключения отображения кода поля / результата поля.

Вам нужно выбрать весь документ (например, используя ctrl-A) и обновить все значения полей (например, используя F9), чтобы правильно обновить все даты. то есть это не полностью автоматически. Вы должны сделать их все одновременно, иначе могут быть несоответствия. Кроме того, когда вы печатаете, Word обновляет некоторые коды полей (например, REF) независимо от значения параметра "Обновить поля при печати", но обновляет другие (например, + и SET), когда для параметра "Обновить поля при печати" установлено значение "Истина". Использование {= y} и т.д. Вместо {y} или {REF y} позволяет обойти это.

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

Поле IF работает путем сравнения поля-кандидата, отформатированного в формате даты, с неотформатированным полем. Если кандидат является действительной датой, то применяется формат и поэтому {QUOTE "2013-9-30" \@ "DD-MM-YYYY"} возвращает "30-09-2013". Если это недопустимая дата, формат не применяется, поэтому {QUOTE "2013-9-31" \@ "DD-MM-YYYY"} возвращает "2013-9-31". Другими словами, два сравнения равны только тогда, когда «дата» не является действительным.

Насколько я знаю, Word всегда правильно интерпретирует дату в формате ГГГГ-ММ-ДД, независимо от ваших региональных настроек.

Если вы предпочитаете меньше пробелов, вы можете сократить эти последовательности полей до

{SET dfmt "DD-MMMM-YYYY"}{DATE \@{REF dfmt}}{SET cd {DATE}}{SET d {REF cd \@D}}{SET m {REF cd \@M}}{SET y {REF cd \@YYYY}}

а также

{SET d {=d+1}}{IF "{QUOTE "{=y}-{=m}-{=d}" \@"DD-MM-YYYY"}" = "{QUOTE "{=y}-{=m}-{=d}"}" "{SET d 1}{IF {=m} = 12 "{SET m 1}{SET y {=y+1}}" "{SET m {=m+1}"}"}"}{QUOTE "{=y}-{=m}-{=d}" \@{REF dfmt}}

Вы можете вырезать больше, если хотите, но я оставляю это вам.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .