Pessoal é o seguinte, consegui resolver o caso depois de alguns dias pesquisando! è o seguinte: Primeiramente temos de fazer a referencia lá em project - references - microsoft word 11.0 Object Library *pra quem usa o office 2003 Depois você vai declarar em Declarations Public objword As Word.Application Depois você coloca este codigo! Private Sub CmdWord() Dim temp As String On Error GoTo trata_erro Set objword = New Word.Application ' Desabilita o botao de comando CmdWord(0).Enabled = False ' nome do relatorio pré montado objword.Documents.Open ("caminho do arquivo do word\nomedoarquivodoword.doc") objword.Visible = True 'se você quiser que apareça enquanto executa a ação ' chama rotina para substituicao Call Substitui_Var("@datadodia", Format(Now, "Long Date")) Call Substitui_Var("@rscontratante", Label1(0)) 'Call Substitui_Var("@cidade1", txtcidade) 'Call Substitui_Var("@contratante", Data1.Recordset("nomeresp")) 'Call Substitui_Var("@endereco2", Data1.Recordset("endereco")) 'Call Substitui_Var("@documento", Data1.Recordset("cidade")) 'Call Substitui_Var("@aluno", Data1.Recordset("nome")) ' Salva o documento com um novo nome objword.ActiveDocument.SaveAs (""caminho do arquivo do word\" & nomedoarquivo) 'Encerra o word objword.Quit ' informa ao usuario que o contrato foi gerado MsgBox "Proposta gerada com sucesso! em : " & nomedoarquivo, vbInformation, " Proposta gerada! " ' libera memoria Set objword = Nothing Exit Sub trata_erro: MsgBox "Ocorreu um erro durante o processamento " & " - Erro numero : " & Err.Number End Select End Sub 'função para substituir palavras no word Private Sub Substitui_Var(Header As String, Data As String) With objword.Selection.Find .ClearFormatting .Text = Header .Execute Forward:=True End With Clipboard.Clear Clipboard.SetText (Data) objword.Selection.Paste Clipboard.Clear End Sub lembrando que nomedoarquivodoword pode ser uma label ou txt, e não precisa colocar .caption ou .text! beleza, desde já agradeço todos que leram o assunto! E ai estas espero ter ajudado alguém! Fui