combinar Access con Word
Publicado por blas (1 intervención) el 16/09/2010 11:15:06
Hola amigos hace tiempo que no pregunto. haber si podeis echarme una mano. Tengo una base de datos sobre gestion de informes, los datos de los registro en Access van a una plantilla de Word. Un boton en el formulario principal abre la plantila y la guarda en una carpeta atendiendo al un numero de registro que toma de Access. Hasta aqui bien. lo que me ocurre, es que me guarda el documento de Word dando como nombre de guardar como, el numero de registro de Access que es lo que yo quiero, pero no actualiza todos los demás datos del formulario por lo que el documento que guarda a excepción del número de registro siempre es el mismo. Este es el código que utilizó, que alguien me diga que es lo que hago mal o que tengo que modificar o añadir a el para que funcione correctamente, es decir, que abra la plantilla de Word, con los datos compeltos del registro activo. Muchas gracias, blas.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Private Sub Comando309_Click()
On Error GoTo ManejadorError
Dim appWord As Word.Application
Dim docs As Word.Documents
Dim doc As Word.Document
Dim strRutaPlantilla As String
Dim strTestPlantilla As String
Dim strNuevoDocumento As String
' Ruta completa de la plantilla de Word
strRutaPlantilla = "C:\Blas\Part Acc 2009\Informe accidente.dot"
' Ruta y nombre del nuevo documento
strNuevoDocumento = "C:\Blas\Part Acc 2009\Atestados\" & Me.IDRefNum & ".doc"
'Sí existe el archivo lo abrimos y nos salimos,
' sino existe lo creamos
strTestPlantilla = Nz(Dir(strNuevoDocumento))
If strTestPlantilla <> "" Then
Application.FollowHyperlink strNuevoDocumento
Exit Sub
End If
Set appWord = CreateObject(Class:="Word.Application")
Set docs = appWord.Documents
Set doc = docs.Add(strRutaPlantilla)
With appWord
.Visible = True
.ActiveDocument.SaveAs strNuevoDocumento
.Activate
End With
ManejadorErrorSalir:
Exit Sub
ManejadorError:
If Err.Number = 429 Then
Set appWord = CreateObject(Class:="Word.Application")
Resume Next
Else
MsgBox Err.Description, , "Error Nº: " & Err.Number
Resume ManejadorErrorSalir
End If
End Sub
Valora esta pregunta
0