На письма читателей

Меня часто спрашивают, а как сделать, чтобы в документе Word отображался текст из другого документа. Причем, при внесении изменений в донорский документ, эти изменения должны отражаться в целевом, результирующем документе. Меня осаждали с этим вопросом повсюду – в метро, на работе, по электронной почте и по другим каналам связи. Я решил, что опубликованный тут ответ положит этому безобразию конец.

Итак, исходная ситуация. Есть два файла. В файл, условно называемый TARGET, нужно пересадить текст из файла SOURCE (допустим, в файле SOURCE готовый пейзаж или диалог для вставки в повесть, а основной массив повести находится в файле TARGET). Ну что может быть проще, усмехнетесь вы. Открыть SOURCE, скопировать текст, открыть TARGET, вставить текст и сохранить. Да, так можно, но это неспортивно. Причем, если изменить пейзаж или диалог, то получится рассинхронизация текстов в двух файлах. Информационная энтропия. Размножение сущностей без необходимости. Что делать в такой ситуации?

Вообще много чего можно сделать, но вот один вариант.

1. Откройте файл TARGET (где основной массив повести).

2. В месте, куда надо вставить текст из файла SOURCE, нажмите CTRL+F9.
Появятся такие фигурные скобочки: { }

3. Между скобочками (необязательно впритык, отбивку можно оставить) введите includetext и через пробел путь к файлу SOURCE в следующем формате:
C:\\Путь к файлу\\Имя файла.расширение
(Буква диска может отличаться от C)

Обратите внимание на то, что наклоненная против часовой палочка в каждом случае печатается два раза. Должна получиться строка следующего вида.
{ Includetext C:\\Путь к файлу\\Имя файла.расширение }

4. Нажмите F9 (обновить).
Появится текст из файла SOURCE.

Далее, если вы впоследствии внесете изменения в файл SOURCE, то в файле TARGET нужно будет, щелкнув на тексте мышью, просто снова нажать F9, и текст обновится в соответствии с исходным.

Если вы хотите прервать связь между документами (то есть заимствованный текст станет самостоятельным и не будет обновляться после F9), в файле TARGET щелкните на заимствованном тексте и нажмите CTRL+SHIFT+F9. Текст останется на месте, но теперь он станет частью данного (TARGET) файла и не будет зависеть от изменений в SOURCE.

Изображение пользователя Мальволио

Полезно!


Спасибо, может пригодиться.

Облом запоминать. Может, и не пригодится?

Константин

Спасибо!
1. а нельзя ли это как-то автоматизировать? "путь к файлу" итп вызывает у меня истерику.
2. а если послать таргет заказчику, он получит что?
3. а это работает в Open Office?

не знал, что обновить это ф9. думал, ф5.
старею...


1.
1.1 Можно воспользоваться, например, диспетчером файлов Total Commander, там можно скопировать файл с полным путем. При этом, в адрес надо будет везде добавить второй антислэш.
1.2 Можно вообще всю данную процедуру сделать через панель управления интерфейс (Если Word 2007+, то Вставка > Экспресс-блоки > Поле)

Вообще там много типов полей, и помимо самих полей есть дополнительные ключи к ним (которые изменяют поведение, в данном случае вставки, например, сохраняют стиль исходного или наоборот). Наверняка можно задать какое-нибудь пространство имен, но, я думаю, я напишу об этом в другой раз. А если вообще глобально, то Word ничуть не менее сложен и действительно полезен (если его познать), чем что-то очень сложное и очень полезное.

2. Если послать содержимое TARGET со включенным SOURCE в файл SOURCE, то текст TARGET, отобразится, а включенная часть нет. Напишут, что файл нельзя включать сам в себя.

3. Вот про OO знаю мало. Наверняка есть. Но сочетание клавиш или где в интерфейсе можно найти данные функции, затрудняюсь.

Про F5. Назначение функциональных клавиш зависит от конкретного приложения. Может, F9 называется и не "обновить" в контексте Word, но делает он именно это. То же самое (обновление) он делает и с оглавлением, которое, кстати вставляется быстрее как { TOC }, а не через интерфейс.

Что, сублимируя, несу, бля, миру я?