Para futuros leitores, a sugestão original (na parte inferior) ainda pode ser útil, desde que você saiba que os caminhos são curtos.
Modifiquei a sugestão recente porque, em sua forma original, quando o documento não estava na pasta Release, mas existia um documento com o mesmo nome e campos na pasta Release, esse documento tentava se incluir até que o Word chegasse à sua limite de aninhamento de campo (em torno de 19/20 níveis) e, em seguida, aparece um diálogo de erro. O outro problema que pode existir com essa abordagem é que o Word pode abrir um diálogo em alguns casos de qualquer maneira (descobri que isso aconteceu com o Word 2010 / Win 7 quando o documento estava em um caminho UNC, mas não em um driveletter: Não sei exatamente quais circunstâncias e configurações causarão esse problema.AFAICS o campo ainda funciona corretamente nessa situação, mas o pop-up de diálogo quase certamente seria inquietante (no mínimo) para um usuário final).
Para fazer isso funcionar, você precisa inserir um marcador que não inclua o campo {IF}. Para tornar mais difícil para o usuário excluir, você pode, por exemplo, clicar logo antes do "Erro!" texto e insira um marcador de ponto lá. Eu usei o nome do marcador "bkmk_release"
Caso contrário, o melhor que posso gerenciar é isso, que depende de um "truque" do nome do caminho do Windows que geralmente funciona no Word e funciona além do limite de 128 caracteres (suspeito que o próximo limite seja um total de 256 caracteres .):
{ IF "{ INCLUDETEXT "{ FILENAME \p }\..\..\Release\{ FILENAME }" bkmk_rlease }" = "Error! Include may not refer to itself." "DOCUMENT OUT OF DATE" "OK" }
i.e. provavelmente não funcionará se seu arquivo puder estar legitimamente em um endereço http: //. Tal como está, depende de uma configuração em inglês. Você pode melhorar isso usando
{ IF "{ INCLUDETEXT "{ FILENAME \p }\..\..\Release\{ FILENAME }" bkmk_release }" = "{ INCLUDETEXT "{ FILENAME \p }" }" "DOCUMENT OUT OF DATE" "OK" }
mas não verifiquei.
Em outras palavras, se o arquivo estiver na pasta Release, ele está tentando se incluir e o INCLUDETEXT deve retornar o erro. Se o arquivo não estiver na pasta Release, o includetext tentará abrir o arquivo com o mesmo nome na pasta Release. Se isso não existir, você verá um erro diferente (provavelmente mais de uma possibilidade), por exemplo. não existe, nome inválido. O único problema é se ele existe e contém o texto "Erro! Incluir não pode se referir a si mesmo". : -)
Pode haver alguns outros "casos de borda", por ex. se o documento estiver na pasta de nível superior.
A sugestão original:
Desde que o Release seja sempre a pasta que contém o arquivo, não uma pasta mais acima na hierarquia, algo assim deve ser feito:
{ IF "{ INCLUDETEXT "{ FILENAME \p }\..\..\Release\{ FILENAME }" }" = "{ INCLUDETEXT "{ FILENAME \p }" }" "DOCUMENT OUT OF DATE" "OK" }
Apesar de pensarmos mais sobre isso, pode haver um problema com nomes de caminhos mais longos - até 128 caracteres podem ser uma limitação, o que descartaria isso em alguns cenários.