Error al Exportar campo Objeto Texto a Excel


([N1] roberto sanz) #1

Saludos para todos los velneadores, expongo el siguiente caso para ver quien me puede ayudar.
Estoy usando el scrip de vtools para exportar los campos de una tabla a excel, todo me funciona bien excepto cuando incluyo un campo “Objeto texto” que contiene dos o mas lineas de datos(Anexo imagen de ejemplo y error).
Analizo el archivo Javascript que genera en la linea y caracter indicado y precisamente es la posición de la segunda linea(creada presionando la tecla ENTER), espero verme explicado bien.

Agradecería cualquier ayuda al respecto

Mil Gracias

Roberto Sanz


([N1] roberto sanz) #2

Los adjuntos




([N1] vlinares) #3

Buenas tardes…
Yo también me he encontrado con este error. Si editas el fichero que se está creando verás que el scrip interpreta que se va a introducir otra linea de esté script.
No he encontrado solución al respecto, a menos que si dominas el js elimines los saltos de linea del campo.
Generando con js la generación de vbs para Outlook, como aquí si que podía controlar los campos los que hice fue quitar los saltos de linea. La cuestión estaría en que al generar el script detectras que campo puede llevar el salto de linea y lo eliminaras.
Un saludo
Vicente


([N3] pacosatu) #4

Hola Roberto.

Este es un problema derivado del arcaico sistema que tiene Velneo para crear Scripts de terceros.

Prueba lo siguiente.

  • Antes de crear el Script coge la cadena de texto multilínea y sustituye los retornos por un caracter especial, por ejemplo la barra vertical o palote |.
  • Cuando introduzcas el texto en el Script vbs, debes sustituir los palotes por CHR(13)+CHR(10) o la constante vbCrLf.
  • También puedes hacerlo sustituyendo directamente los retornos sin pasar previamente por los palotes.

De esta forma los retornos de carro ya no afectan al código vbs.
Ten en cuenta que en vbs no existen los caracteres escapados como \n, \, … ( o eso creo ) y tienes que convertirlos a su equivalene en cadena mediante la función CHR(…).

Pruébalo.
Saludos
Paco Satué


([N1] roberto sanz) #5

Mil Gracias vLinares y Paco por las indicaciones, acabo de resolverlo lococando lo siguente en el codigo del Script:

if (dato.indexOf(’\n’)!=-1)
/* Usar esta instrucción si el contenido a exportar lleva comillas dobles */
dato = dato.replace(/\n/g, " "); //Puesta en comentario por Roberto Sanz.

Con esto me funciona bien, lo coloco por si a alguien le es util.

Gracias