Esta é a lista de tipos de links externos que ocorrem para mim agora, incluindo alguns já mencionados ...
- Link para um modelo
- Um hiperlink, representado por um campo de hiperlink ou por um hiperlink associado a um objeto, como uma imagem
- um link para um objeto OLE, como uma planilha do Excel, representado por um campo LINK ou (em OOXML) internamente por meio de um registro de Relacionamento no .docx
- arquivos ou subconjuntos de "texto" incluídos (por exemplo, áreas de texto marcadas como favoritos), ligados por campos INCLUDETEXT ou possivelmente internamente através de um Registro de relacionamento
- links para imagens, seja via campos INCLUDEPICTURE ou internamente via um registro de relacionamento
- link de um documento principal de mala direta para sua fonte de dados
- links de documentos mestres para subdocumentos (não lembro como eles são realmente feitos)
- (incomum, eu diria) link para uma fonte de dados de um {DATABASE} campo
- (incomum nos dias de hoje) {RD} campos que "incluem" outros documentos para criação de tabelas de conteúdo e índices
- (incomum nos dias de hoje, a menos que alguém tenha usado o VSTO para inserir o Windows controles) se o documento contiver algum controle ActiveX (normalmente controles de formulários), eles devem estar presentes na máquina de destino
- qualquer outro caminho codificado usado no VBA
- (incomum, eu diria) Um documento pode ter potencialmente uma "base de hiperlink" que pode afetar a interpretação de hiperlinks em um documento.
(Existem predecessores dos tipos de campos INCLUDETEXT e INCLUDEPICTURE, mas eles são tão antigos que é extremamente improvável que você os encontre)
Para pelo menos um desses, ou seja, (6), se você for modificar o documento usando o modelo de objeto do Word (por exemplo, no VBA), é importante fazer isso antes de remover o destino do link original (ou seja, fonte de dados). Caso contrário, o Word irá "esquecer" a fonte de dados antes de você ter a chance de apontar o documento para o novo. Se você estiver apenas processando documentos OOXML via, por exemplo, o Open XML SDK, isso não deve ser um grande problema.