La Web del Programador: Comunidad de Programadores
 
    Pregunta:  57265 - AUTOMATIZAR DOCUMENTO DE WORD DESDE ACCESS
Autor:  Sebastián Fonseca
tengo el siguiente código:

Public Function generadoc()
'**********************************************************************
'Declarar objetos para usar Word
'**********************************************************************
Dim Word As New Word.Application
Dim resolucion As Word.Document
Dim myRange As Range
Dim Departamento As String
'**********************************************************************
'Hace visible o no Word según se desee y abre un documento existente
'**********************************************************************
Word.Visible = False
Set resolucion = Word.Documents.Open(FileName:="C:Doc7", ReadOnly:=False)
'**********************************************************************
'Define todo el documento
'**********************************************************************
Set myRange = Word.ActiveDocument.Content
'**********************************************************************
'Busca en todo el documento el texto #Destino# para reemplazarlo por el contenido de la variable Destino
'**********************************************************************
With myRange.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "#Destino#"
.Replacement.Text = Departamento
.Execute Replace:=wdReplaceAll
End With
End Function
Funciona bien hasta .Replacement.Text = Departamento
no logro que lo tome como variable, si lo pongo entre comillas escribe Departamento en el word.
La idea sería tener un formulario donde se pueda seleccionar un caso con un cuadro combinado y luego apretar un botón que me genere un doc (que tendría texto predefinido) con esos campos intercalados.

  Respuesta:  eider maruicio aristizabal erazo
Debes crear tu formulario con los departamentos en un cuadro combinado posetriormente, presinas un boton en el formulario para que genere el documento y haz un llamado a la funcion pero le entregas el departazmento que ya ha sido seleccionado en el formulario el cambio del a funcion seria el siguiente:
Public Function generadoc(Departamento as string)
'**********************************************************************
'Declarar objetos para usar Word
'**********************************************************************
Dim Word As New Word.Application
Dim resolucion As Word.Document
Dim myRange As Range
Dim Departamento As String
'**********************************************************************
'Hace visible o no Word según se desee y abre un documento existente
'**********************************************************************
Word.Visible = False
Set resolucion = Word.Documents.Open(FileName:="C:Doc7", ReadOnly:=False)
'**********************************************************************
'Define todo el documento
'**********************************************************************
Set myRange = Word.ActiveDocument.Content
'**********************************************************************
'Busca en todo el documento el texto #Destino# para reemplazarlo por el contenido de la variable Destino
'**********************************************************************
With myRange.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "#Destino#"
.Replacement.Text = Departamento
.Execute Replace:=wdReplaceAll
End With
End Function

entonces el llamado en el boton seria asi:

Private Sub CommandButton1_Click()
generadoc ComboBox1.SelText
msgbox "Ok"
End Sub