Access - Ayuda al interactuar entre access y word

   
Vista:

Ayuda al interactuar entre access y word

Publicado por David (1 intervención) el 21/01/2013 13:21:29
Hola, estoy trabajando en una base de datos y buscando por internet he encontrado un código con el que consigo parcialmente lo que quiere, es decir abro un documento word y lo guardo con el nombre de uno de los campos del formulario en otra carpeta. El caso es que me falta saber como unir otros documentos al que se crea nuevo si se cumplen condiciones, es decir SI o NO, y que se inserte en una bookmark. He conseguido que se abra si se sigue la condición pero en otro nuevo documento, pero como digo, necesito que se unan los dos documentos. Adjunto el código a ver si me podeis ayudar. Gracias.

Private Sub algo_Click()

Dim appWord As Word.Application
Dim docs As Word.Documents
Dim doc As Word.Document
Dim campoWord As Object
Dim strRutaPlantilla As String
Dim strTestPlantilla As String
Dim strNuevoDocumento As String
Dim strhorno As String

On Error GoTo ManejadorError

strRutaPlantilla = "C:\Almacen\mobiliario\cocina.doc"
strNuevoDocumento = "C:\Almacen\pendiente\" & Me.codigoº & ".doc"
strhorno = "C:\Cosas\mobiliario\horno.doc"
strTestPlantilla = Nz(Dir(strNuevoDocumento))

If strTestPlantilla <> "" Then
If MsgBox("El Documento ya existe. ¿Desea actualizarlo", _
vbInformation + vbYesNo + vbDefaultButton2, _
"Actualizar Documento") = vbNo Then
Application.FollowHyperlink strNuevoDocumento
Exit Sub
End If
End If

If ([Desea_horno?] = "SI") Then
Application.FollowHyperlink strhorno
End If

Set appWord = CreateObject(Class:="Word.Application")
Set docs = appWord.Documents
Set doc = docs.Add(strRutaPlantilla)
Set campoWord = doc.CustomDocumentProperties

On Error Resume Next

campoWord.Item("NombreDeCampoWord").Value = CampoFormulario
campoWord.Item("OtroNombreCampoWord").Value = OtroCampoFormulario

With appWord
.Visible = True
.Selection.WholeStory
.Selection.Fields.Update
.ActiveDocument.SaveAs strNuevoDocumento
.Activate
.Selection.EndKey Unit:=wdStory
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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda al interactuar entre access y word

Publicado por Jefferson (381 intervenciones) el 29/01/2013 03:27:23
Hola David

Usa la instruccion
Set doc = docs.InsertAfter(strRutaPlantilla)
para insertar mas textos

Saludos
Desde Venezuela
Jefferson
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar