Com apenas um pequeno código extra, consegui fazer as coisas funcionarem da seguinte forma:
- quando o Excel é aberto, a macro VBA cria o TEXTFILE e imediatamente copia isso para um arquivo TEXTCOPY
- quando o usuário faz alterações, o TEXTFILE é atualizado, mas o TEXTCOPY não é
- quando o usuário salva as alterações, o TEXTCOPY é atualizado
- quando o usuário sai do Excel sem salvar, o TEXTFILE é excluído e o TEXTCOPY é renomeado para TEXTFILE
- quando o usuário fecha o Excel com o salvamento, o TEXTCOPY é excluído