Hola a todos, espero estén todos muy bien.
Quería consultar, si alguien sabe, como pasar el contenido de un campo Memo a Word, utilizando el Office Template de Softmaster.
Situación:
LOC:TEMA - Variable donde tengo el texto a buscar dentro del Word (#TEMA1#)
Y# - Contador que incrementa el Nº en el texto a buscar dentro del Word
SETCLIPBOARD() - Copiar en el portapapeles el contenido del campo Memo
CLIPBOARD() - Pegar el contenido del portapapeles en el Word
Lo que hice (y no funciono, no reemplaza el texto por el contenido del portapapeles, los campos string, date y long los reemplaza sin problemas) es :
LOC:TEMA = CLIP('#TEMA') & CLIP(y#) & CLIP('#')
SETCLIPBOARD(CLIP(CAMPO:MEMO))
MsWord1.Replace(LOC:TEMA,CLIP(CLIPBOARD()),False,False)
Obviamente algo no le gusto.
Por favor, si alguien sabe o se encontró con la misma situación y lo pudo resolver, agradecería muchísimo una ayuda.
Muchas gracias a todos. Saludos.
Carlos Weidl
cweidl@magyp.gob.ar
carlosweidl@hotmail.com
Office Template de Softmaster - Pasar campo MEMO a WORD
-
- Novato
- Mensajes: 47
- Registrado: Mié Abr 16, 2014 8:23 pm
- Ubicación: Buenos Aires - Argentina
- Contactar:
- Mauricio
- Desarrollador de Clarion
- Mensajes: 1125
- Registrado: Dom Feb 06, 2011 9:34 am
- Ubicación: España
- Contactar:
Re: Office Template de Softmaster - Pasar campo MEMO a WORD
Dos preguntas: 1) para qué copiás y pegás el contenido del memo en el clipboard? No es lo mismo usar el memo en la función para remplazar?
1) Y si no funciona, probaste pasando el contenido del memo a una variable tipo cstring(64000) o algo así?
1) Y si no funciona, probaste pasando el contenido del memo a una variable tipo cstring(64000) o algo así?
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog
www.tdcsoftware.com y www.clarioneros.com/blog
-
- Novato
- Mensajes: 47
- Registrado: Mié Abr 16, 2014 8:23 pm
- Ubicación: Buenos Aires - Argentina
- Contactar:
Re: Office Template de Softmaster - Pasar campo MEMO a WORD
Hola Mauricio, gracias por la respuesta.
Te comento :
1) Intente pasar directamente el Memo y no me lo reemplazaba. Por lo que pensé que era un tema del template con los campos Memo. Por eso lo segundo que se me ocurrio fue hacerlo con el portapapeles.
2) Pasarlo a una variable cstring no lo probe. Apenas lei tu respuesta lo probe, pero me seguia sin reemplazar el texto.
Ahora, después de chequear nuevamente. Parece que el problema esta en el código.
Por lo que veo no me reconoce la variable donde tengo el texto a reemplazar (#TEXTO1#, #TEXTO2#, #TEXTO3#, etc.)
LOC:TEMA = CLIP('#TEMA') & CLIP(y#) & CLIP('#')
Y# es un contador que se incrementa a medida que voy leyendo registros.
Al leer el primer registro y# = 1, lee el segundo y# = 2, y asi hasta completar.
L:TEMA = CLIP(Campo:Memo) ! L:TEMA variable CString
MsWord1.Replace(LOC:TEMA,L:TEMA,False,False)
Te adjunto imagen, de un lado tenes el Word y del otro lado el dbg, y ahí veo que lee bien el contenido de LOC:TEMA que seria #TEMA1#, #TEMA2#, #TEMA3#, etc.
Lo raro que en esta línea LOC:REMITENTE lo encuentra y reemplaza sin problemas :
LOC:REMITENTE = CLIP('#REMITENTE') & CLIP(y#) & CLIP('#')
L:REMITENTE = CLIP(DES:REMITENTE) & CLIP(' - ') & CLIP(DES:FIRMA) & CLIP(' - ') & CLIP(DES:CARGO_OR) & CLIP(' - ') & CLIP(DES:COD_NUM)
MsWord1.Replace(LOC:REMITENTE,CLIP(L:REMITENTE),False,False)
No logro ver donde puede estar el error.
Cualquier sugerencia será muy bien recibida !!!
Abrazos y muchisimas gracias por tu tiempo.
Carlos Weidl
Te comento :
1) Intente pasar directamente el Memo y no me lo reemplazaba. Por lo que pensé que era un tema del template con los campos Memo. Por eso lo segundo que se me ocurrio fue hacerlo con el portapapeles.
2) Pasarlo a una variable cstring no lo probe. Apenas lei tu respuesta lo probe, pero me seguia sin reemplazar el texto.
Ahora, después de chequear nuevamente. Parece que el problema esta en el código.
Por lo que veo no me reconoce la variable donde tengo el texto a reemplazar (#TEXTO1#, #TEXTO2#, #TEXTO3#, etc.)
LOC:TEMA = CLIP('#TEMA') & CLIP(y#) & CLIP('#')
Y# es un contador que se incrementa a medida que voy leyendo registros.
Al leer el primer registro y# = 1, lee el segundo y# = 2, y asi hasta completar.
L:TEMA = CLIP(Campo:Memo) ! L:TEMA variable CString
MsWord1.Replace(LOC:TEMA,L:TEMA,False,False)
Te adjunto imagen, de un lado tenes el Word y del otro lado el dbg, y ahí veo que lee bien el contenido de LOC:TEMA que seria #TEMA1#, #TEMA2#, #TEMA3#, etc.
Lo raro que en esta línea LOC:REMITENTE lo encuentra y reemplaza sin problemas :
LOC:REMITENTE = CLIP('#REMITENTE') & CLIP(y#) & CLIP('#')
L:REMITENTE = CLIP(DES:REMITENTE) & CLIP(' - ') & CLIP(DES:FIRMA) & CLIP(' - ') & CLIP(DES:CARGO_OR) & CLIP(' - ') & CLIP(DES:COD_NUM)
MsWord1.Replace(LOC:REMITENTE,CLIP(L:REMITENTE),False,False)
No logro ver donde puede estar el error.
Cualquier sugerencia será muy bien recibida !!!
Abrazos y muchisimas gracias por tu tiempo.
Carlos Weidl
-
- Novato
- Mensajes: 47
- Registrado: Mié Abr 16, 2014 8:23 pm
- Ubicación: Buenos Aires - Argentina
- Contactar:
Re: Office Template de Softmaster - Pasar campo MEMO a WORD
Hice otra prueba con IF y sin el texto a reemplazar dentro de una variable :
L:TEMA = CLIP(DES:NOTA)
IF y# = 1
MsWord1.Replace('#TEMA1#',L:TEMA,False,False)
ELSIF y# = 2
MsWord1.Replace('#TEMA2#',L:TEMA,False,False)
ELSIF y# = 3
MsWord1.Replace('#TEMA3#',L:TEMA,False,False)
…
Solo me reemplaza las opciones con texto corto. Aquellas con un texto largo no me lo reemplaza.
L:TEMA = CLIP(DES:NOTA)
IF y# = 1
MsWord1.Replace('#TEMA1#',L:TEMA,False,False)
ELSIF y# = 2
MsWord1.Replace('#TEMA2#',L:TEMA,False,False)
ELSIF y# = 3
MsWord1.Replace('#TEMA3#',L:TEMA,False,False)
…
Solo me reemplaza las opciones con texto corto. Aquellas con un texto largo no me lo reemplaza.
- Mauricio
- Desarrollador de Clarion
- Mensajes: 1125
- Registrado: Dom Feb 06, 2011 9:34 am
- Ubicación: España
- Contactar:
Re: Office Template de Softmaster - Pasar campo MEMO a WORD
Con qué versión de Clarion estás trabajando?
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog
www.tdcsoftware.com y www.clarioneros.com/blog
-
- Novato
- Mensajes: 47
- Registrado: Mié Abr 16, 2014 8:23 pm
- Ubicación: Buenos Aires - Argentina
- Contactar:
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 17 invitados