Combinar Correspondencia Acces - Word 2003

zfeliu
17 de Junio del 2005
Al migrar a Access 2003, tengo problemas al combinar correspondencia con Word des de c贸digo vb de Access, este c贸digo siempre a funcionado con Access 97 i 2000:

On Error GoTo Err_Ir_a_word_Click
Dim c_doc_save As Variant
Dim c_doc As Word.Document
Dim doc As Variant
Dim appWD As New Word.Application
Dim dbs As Database

Set dbs = CurrentDb

Err.Number = 0
On Error GoTo notloaded
Set appWD = GetObject("Word.Application")

Dim cc_plantilla As Variant

notloaded:
If Err.Number = 429 Then
Set appWD = CreateObject("Word.Application")
TheError = Err.Number
End If

doc = Me.documento
If IsNull(doc) Or doc = "" Then
cc_plantilla = Me.c_plantilla

If IsNull(cc_plantilla) Or cc_plantilla = "" Then
appWD.Documents.Add
Else
If Dir(cc_plantilla) = "" Then
MsgBox "La Plantilla " & cc_plantilla & " de Word, no existe en la ruta especificada", vbExclamation
Exit Sub
End If
appWD.Documents.Add cc_plantilla
End If
doc = appWD.ActiveDocument
appWD.Documents(doc).MailMerge.MainDocumentType =
wdFormLetters
appWD.Documents(doc).MailMerge.OpenDataSource Name:=dbs.Name, _
LinkToSource:=True, AddToRecentFiles:=False, _
Connection:="TABLE Correo_imp_word"

appWD.Documents(doc).MailMerge.ViewMailMergeFieldCodes = False
appWD.Application.Visible = True
appWD.WindowState = wdWindowStateMaximize
appWD.Documents.Save
c_doc_save = appWD.ActiveDocument.Name
If Not IsNull(c_doc_save) And appWD.ActiveDocument.Saved Then
Me.documento = appWD.ActiveDocument.Path & "" & c_doc_save
End If

Exit Sub

Con Office 2003 no hay manera de hacerlo funcionar.
Alguien sabe que puede estar pasando.

Gracias de antemano.

Pedro
17 de Junio del 2005
Hola amigo me gusto ese codigo q haces con el? es de acces q llamas a un archivo de word y de acuerdo a t煤 base de datos de contactos envias una carta X pero personalizada? por otra lado amigo este error pasa al cambiar de versiones te aconsejo entres a visual basic para acces y verifiques en Herramientas - y luego en Referencia fijate que ninguna diga "no encontrada" o de tu lista anterior falte una, gracias saludos

?gelino
17 de Junio del 2005
El problema se presenta, por que office 2003 esta enfocado para plataformas .NET, eso es lo que he descubierto, mas sin enbargo no he podido solucionarlo, pero si t煤 ya encontrastes la soluci贸n, pues pasala....

Emi
17 de Junio del 2005
Yo tengo el mismo problema.
Las aplicaciones bajo NT y Office 97 las controlo genial desde VB6, pero hemos pasado a XP con Office XP, y el VB6 me da muchos problemas.

He encontrado alguna solucione que quiz谩 nos sirva a todos:

He abierto el documento de word que tenia para combinar, he empezado a grabar una macro que me haga la combinacion de correspondencia y que me grabe el documento resultante con otro nombre.
La macro, ojo, que se grabe en el documento de combinar !!!!
Ahora, desde VB, creo un objeto word y le digo que haga la macro que he grabado y..... me genera sin problemas el documento !!!!!

Set DocWord = CreateObject("Word.Application")
DocWord.application.Visible=False
DocWord.Documents.Open FileName:="c:original.doc"
DocWord.Run ("Generar")


astrid
17 de Junio del 2005
yo tengo el mismo problema pero incopatibilidad con XP y VBA 6.0.
si sabes algo me cuentas por favor Gracias!!