Alex o seu problema está aqui   Private Sub Substitui_Var(Header As String, Data As String) Set objWord = New Word.Application objWord.Documents.Open ("c:\vba\contrato.doc")   Toda vez que ele chamar Substitui_Var, ele abrirá uma cópia do arquivo Contrato.doc  o que eu acho que te ajudaria, é declarar objWord como pública e retirar as duas primeiras linhas da sub Substitui_VAR.  o que aconteceria, no momento que você clicar no botão, ele abriria o arquivo contrato uma vez vinculando as infos com a variavel "objWord". Quando você chamasse a sub Substiruir_Var, ele usaria as propriedades da variavel para substituir o texto  Não sei se você me entendeu, mas qualquer coisa posta ai...