У меня есть учебный план для моего класса, который я написал в Word. Часть этого учебного плана представляет собой список сроков выполнения заданий. Назначения должны выполняться через фиксированное количество дней после начала срока. Таким образом, одно назначение всегда должно быть выполнено через 7 дней после начала срока, еще через 14 дней после начала срока и так далее. Но я хочу показать даты выполнения в виде календарной даты (например, 10/15)

Есть ли способ настроить документ, в котором у меня есть одна основная дата, а остальные даты рассчитываются как смещение от этой даты? Каждый квартал мне нужно обновлять даты, это довольно утомительно, и я, кажется, всегда скучаю по паре.

2 ответа2

1

Этого можно достичь только в поле, но это долго и сложно, поэтому, вероятно, не стоит. Вместо этого вам нужно будет использовать макрос. Оба метода очень хорошо описаны здесь на веб-странице Грэма Мэра

1

Если это только для вашего использования, и у вас также есть Excel, довольно простой метод заключается в следующем. Детали немного различаются в зависимости от того, какую версию Word вы используете ...

  • Создать книгу Excel (назовем ее c:\xl\assignmentdates.xlsx)
  • В ячейку A1 (R1C1) поместите базовую дату
  • В ячейку A2 (R2C1) положите = $ A $ 1+7
  • В ячейку A3 (R3C1) положите = $ A $ 1+14
  • и т.п.
  • При желании поместите описания в столбце B.
  • Сохранить файл
  • Выделите ячейку А1 и выберите Правка-> Копировать.
  • В Word выберите нужную дату и вставьте -> Специальная вставка, нажмите кнопку Вставить ссылку и выберите "Неформатированный текст", затем нажмите "ОК".

Вы должны увидеть результат или поле LINK. Если вы не видите поле LINK, нажмите alt-F9. Это должно выглядеть примерно так

{ LINK Excel.Sheet.12 C:\\xl\\assignmentdates.xlsx Sheet1!R1C1 \a \t }
  • Скопируйте его, вставьте в документ столько копий, сколько вам нужно, и отредактируйте "R1C1", чтобы вставить правильные даты в каждом случае. Используйте Alt-F9, чтобы вернуться к отображению "результатов поля".
  • Выберите документ (ctrl-A) и нажмите F9, чтобы обновить поля.

Если вы теперь измените базовую дату в файле Excel, все даты должны измениться в файле Word.

  • Сохраните оба файла.

После того, что вы, вероятно, должны сделать при создании ваших документов,

  • открыть файл Excel
  • откройте файл Word и сохраните его под новым именем
  • изменить лист Excel
  • дождитесь появления обновленных дат
  • выберите документ и нажмите ctrl-shift-F9, чтобы "отсоединить" поля, т.е. заменить их результатами
  • сохранить и закрыть оба файла

Лично я, вероятно, воспользуюсь одним из подходов, предложенных Адамом, поскольку они не требуют отдельного документа, и я, вероятно, воспользуюсь подходом с полевым кодом, так как он избегает VBA, но кодирование поля немного сложное, и вы уделять дополнительное внимание, если вы используете их несколько раз.

Существует еще один не-VBA подход, включающий поля DATABASE, который также опирается на внешний файл, если вам это интересно.

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