Power Builder - Power Builder - Combinacion por Correspondencia Excel a Word

 
Vista:
sin imagen de perfil

Power Builder - Combinacion por Correspondencia Excel a Word

Publicado por César Augusto (3 intervenciones) el 23/10/2015 18:19:41
Buenos días,

Necesito ayuda con la combinación de correspondencia, utilizo la version de Office 2010, mi problema surge cuando realizo una combinacion entre un archivo Excel y un Word.

Si lo abro desde fuera no tengo problemas ( el archivo de excel y el word se abren sin errores ) pero a la hora de realizarlo por la aplicación del Power Builder el Word muestra una serie de mensajes de error que no comprendo.

1. error1
2. error2
3. error3
4. error4
5. error5


Solo cuando doy cancelar en la imagen 3 me aparece la imagen 5 y realiza la combinación. Pero no se a que se deben los errores.

Intente solucionarlo agregando un objeto OLE que abra primero el archivo excel y luego el word, y ahora ya no salen mensajes de error pero me aparecen los siguientes.

error6
error7

El la imagen 6, se muestra cuando abro el excel, y ese mismo mensaje se muestra cuando se abre el word, luego se abre la imagen 7 indicandome si la primera fila son columnas.

Al final si logro combinar los archivos pero lo que necesito es que no me aparezcan estos mensajes ya que el usuario que realizará esta operación vera estos errores..

Hasta el momento no encuentro solución aqui les envio mi código para que me puedan orientar en que es lo que me falta :
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/* Este codigo lo utilizo para abrir el excel y no me muestren los errores mencionados*/
ExcelBasic	=	CREATE	OLEOBJECT
 
		ExcelBasic.ConnectToNewObject('Excel.Application')
		ExcelBasic.workBooks.Open(StrArchivoe)
		ExcelBasic.Application.Visible			=	FALSE
		ExcelBasic.Application.DisplayAlerts	=	FALSE
Este codigo lo utilizo para abrir el excel y no me muestren los errores mencionados */
 
		IF not FileExists(StrFileName)	THEN
			MessageBox('Aviso','El archivo '+StrFileName+' no existe.',Exclamation!)
			ChangeDirectory(gs_dir)
			RETURN
		END IF
 
		WordBasic	=	CREATE	OLEOBJECT
 
		WordBasic.ConnectToNewObject('Word.Application.8')
		WordBasic.DisplayAlerts	=	FALSE
		WordBasic.Application.Visible	=	TRUE
		WordBasic.Documents.Open(StrFileName)
 
		WordBasic.ActiveDocument.MailMerge.OpenDataSource(StrArchivoe,0,false,false,false,false,"","",false)
 
		//Combinamos (MERGE) el Modelo con el Archivo Fuente
		WordBasic.ActiveDocument.MailMerge.Execute
 
		//Lo grabamos como Contratos.doc. Si ya existe, lo "chanco"
 
		WordBasic.Application.Visible	=	FALSE
 
		WordBasic.ActiveDocument.SaveAs(StrRutaModelo+'\'+'contratos.doc',0)
 
		LngI	=	ole_1.InsertFile(StrRutaModelo+'\'+'contratos.doc')
 
		CHOOSE CASE	LngI
			CASE	-1
				MessageBox('Aviso','El archivo '+StrRutaModelo+'\'+'contratos.doc, no se pudo Grabar.',Exclamation!)
				wordbasic.ActiveDocument.Close()
				wordbasic.Application.Quit()
				WordBasic.Disconnectobject()
				DESTROY wordbasic
				ChangeDirectory(gs_dir)
				RETURN
		END CHOOSE
 
 
		wordbasic.ActiveDocument.Close()
		wordbasic.ActiveDocument.Close()
 
		IF	StrFileName	=	StrRutaModelo+'\'+'temp.doc'	THEN
			FileDelete(StrFileName)
		END IF
 
		StrDocFinal	=	StrRutaModelo+'\'+'contratos.doc'
		WordBasic.Documents.Open(StrDocFinal)
		WordBasic.ActiveDocument.SaveAs(StrRutaModelo+'\'+'contratos.docx',12)
		WordBasic.ActiveDocument.Close()
		FileDelete(StrDocFinal)
 
		ExcelBasic.Application.ActiveWorkBook.Close()
		ExcelBasic.Application.Quit()
		ExcelBasic.DisconnectObject()
 
		DESTROY ExcelBasic
 
 
		wordbasic.Application.Quit()
 
		wordbasic.DisconnectObject()
		wordbasic.DisconnectObject()
		wordbasic.DisconnectObject()
 
		DESTROY wordbasic
 
		MessageBox('Aviso','Se generó el contrato correctamente.',Information!)
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