1

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

Я понимаю, что гиперссылки и ссылки могут указывать на другие документы. Это единственные два способа? Если нет, то каким другим способом один документ может указывать на другой документ или файл?

1 ответ1

2

Это список внешних типов ссылок, которые встречаются мне прямо сейчас, включая некоторые уже упомянутые ...

  1. Ссылка на шаблон
  2. Гиперссылка, представленная полем гиперссылки или гиперссылкой, связанной с объектом, таким как изображение
  3. ссылка на OLE-объект, такой как лист Excel, представленный полем LINK или (в OOXML) внутри через запись Relationship в .docx
  4. включенные "текстовые" файлы или подмножества (например, текстовые области с закладками), связанные полями INCLUDETEXT или, возможно, внутренне через запись отношений
  5. ссылки на изображения, либо через поля INCLUDEPICTURE, либо через запись отношений
  6. ссылка из основного документа Mail Merge на его источник данных
  7. ссылки из мастер-документов на вложенные документы (не помню, как они на самом деле делались)
  8. (необычно, я бы сказал) ссылка на источник данных из поля {DATABASE}
  9. (редкость в наши дни) {RD} поля, которые "включают" другие документы для создания таблиц содержимого и индексов
  10. (необычно в наши дни, если кто-то не использовал VSTO для вставки элементов управления формы Windows), если документ содержит какие-либо элементы управления ActiveX (как правило, элементы управления формы), они должны присутствовать на целевом компьютере
  11. любые другие жестко закодированные пути, используемые в VBA
  12. (я бы сказал, что это необычно) Документ может иметь "базу гиперссылок", которая может повлиять на интерпретацию гиперссылок в документе.

(Существуют предшественники типов полей INCLUDETEXT и INCLUDEPICTURE, но они настолько стары, что вряд ли вы столкнетесь с ними)

По крайней мере для одного из них, т.е. (6), если вы собираетесь изменить документ с помощью модели объектов Word (например, в VBA), важно сделать это до того, как вы удалите исходную цель ссылки (то есть источник данных), В противном случае Word "забудет" источник данных, прежде чем вы сможете указать документ на новый. Если вы обрабатываете только документы OOXML с помощью, например, Open XML SDK, такой проблемы быть не должно.

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