Libro de Excel con lista de nombresHola,
Me gusta crear un libro de Excel con el nombre de las hojas y los archivos que se definen como un nombre de variable.
Aquí está el guión que tengo:
Nitems = 2;
listexcelsheet = {"||file1||","||file2||","||file3||"};
listexcelfile = {"||name1||","||name2||","||name3||"};
if (Nitems == 2,
Create Excel Workbook(
"$Documents/JMP/"||product_name||"_"||process||".xlsx" ,
listexcelfile,listexcelsheet
)
);
Intenté usar Eval () y Parse () y no tuve éxito. Aprecio tu ayuda.
Gracias
Re: libro de Excel con lista de nombresHola Brian,
Gracias por la nota. Tienes razón. Primero conseguí tres hojas y tenía que sobrescribir el archivo anterior. Borré el archivo de Excel y luego ejecuté el script y tenía dos hojas que no sabía. De todas formas, gracias por su ayuda.
Re: libro de Excel con lista de nombresLa tabla que adjuntaste tenía dos hojas. No puedo reproducir un caso donde obtienes 3 hojas.
Brian
Re: libro de Excel con lista de nombresHola Brian,
Gracias. Quería un libro de ejercicios y dos hojas de trabajo dentro. El script que probé por última vez crea tres hojas de trabajo. Yo quería dos.
Gracias por la ayuda adicional.
Adán
@briancorcoran escribió:
Hola at
Pensé que eso era lo que querías? Si desea libros de trabajo separados para cada hoja de trabajo, deberá crear un bucle y llamar a la función individualmente para cada tabla JMP.
Brian
Re: libro de Excel con lista de nombresHola at
Pensé que eso era lo que querías? Si desea libros de trabajo separados para cada hoja de trabajo, deberá crear un bucle y llamar a la función individualmente para cada tabla JMP.
Brian
Re: libro de Excel con lista de nombresGracias Brian por los comentarios. Probé tu guión y creo tres hojas de trabajo.
He adjuntado la salida. Tengo la versión JMP 13 pro.
Gracias
Re: libro de Excel con lista de nombresHola at
Me temo que te has topado con un error único de Mac que se corrigió en el próximo JMP 14. El problema es la forma en que los nombres de los archivos se extraen en la Mac. Me imagino que estás en JMP 13. La única solución alternativa que conozco en este momento para este problema es proporcionar la lista de nombres de las tablas, en lugar del nombre completo del archivo. En este caso, podría reutilizar sus variables de "nombre" pero Big Class tendría que tener un espacio en él. Un ejemplo que funciona es:
product_name = "ProductA";
process = "Process1";
//Tables need to be open to go into Excel Workbook
file1 = open("//Library/Application Support/JMP/13/Samples/Data/Abrasion.jmp";);
file2 = open("//Library/Application Support/JMP/13/Samples/Data//Big Class.jmp";);
//Worksheet names
name1 = "Abrasion";
name2 = "Big Class";
//listexcelfile = eval list({file1, file2});
listx = eval list({name1, name2});
listexcelsheet = eval list({name1, name2});
Create Excel Workbook(
"$Documents/JMP/"||product_name||"_"||process||".xlsx" ,
listx, listexcelsheet
);
Lo siento por las molestias que esto ha causado.
Brian Corcoran
Desarrollo JMP
Re: libro de Excel con lista de nombresHola cameron
Utilizo una máquina Mac que podría ser diferente a la máquina de Windows.
Re: libro de Excel con lista de nombresGracias cameron Lo siento, todavía estoy recibiendo un error. He adjuntado el script que utilicé y el archivo lop dice: "No se pudo encontrar ninguna de las tablas especificadas. Error al guardar".
product_name = "ProductA";
process = "Process1";
//Tables need to be open to go into Excel Workbook
file1 = open("$SAMPLE_DATA/Abrasion.jmp";);
file2 = open("$SAMPLE_DATA/Big Class.jmp";);
//Worksheet names
name1 = "Abrasion";
name2 = "BigClass";
listexcelfile = eval list({file1, file2});
listexcelsheet = eval list({name1, name2});
Create Excel Workbook(
"$Documents/JMP/"||product_name||"_"||process||".xlsx" ,
listexcelfile, listexcelsheet
);
Si en el libro Crear Excel, primero escribo listexcelsheet y luego listexcelfile, la salida está geneada pero solo tiene "Abraison.jmp". También he adjuntado eso.
Gracias
Re: libro de Excel con lista de nombresObtuvo las listas listexcelsheet y listexcelfile hacia atrás en la función Crear libro de Excel (). Invertir esos y debería funcionar.
Cuando dije que tenías esos al revés en mi primera respuesta, me refería a los nombres. Parecía que nombraba la lista de archivos "listexcelsheet" y la lista de hojas "listexcelfile". Ejecutar mi script exactamente como se indica y debería funcionar.
Adjunto lo que tengo.
Re: libro de Excel con lista de nombresGracias cameron Intenté tu script y solo crea una hoja de trabajo "Abrasión".
Aquí está lo que he usado:
product_name = "ProductA";
process = "Process1";
//Tables need to be open to go into Excel Workbook
file1 = open("$SAMPLE_DATA/Abrasion.jmp";);
file2 = open("$SAMPLE_DATA/Big Class.jmp";);
//Worksheet names
name1 = "Abrasion";
name2 = "BigClass";
listexcelfile = eval list({file1, file2});
listexcelsheet = eval list({name1, name2});
Create Excel Workbook(
"$Documents/JMP/"||product_name||"_"||process||".xlsx" ,
listexcelsheet, listexcelfile
);
Re: libro de Excel con lista de nombresDifícil de decir sin ver su código exacto. Esto es lo que hice con 2 tablas de la biblioteca de datos de muestra y ambas hojas de trabajo se muestran en el libro como se esperaba:
product_name = "ProductA";
process = "Process1";
//Tables need to be open to go into Excel Workbook
file1 = open("$SAMPLE_DATA/Abrasion.jmp";);
file2 = open("$SAMPLE_DATA/Big Class.jmp";);
//Worksheet names
name1 = "Abrasion";
name2 = "BigClass";
listexcelfile = eval list({file1, file2});
listexcelsheet = eval list({name1, name2});
Create Excel Workbook(
"$Documents/JMP/"||product_name||"_"||process||".xlsx" ,
listexcelfile, listexcelsheet,
);Re: libro de Excel con lista de nombresGracias Cameron por la rápida solución. Funciona pero solo obtengo una hoja creada no tres y no hay error. ¿Qué podría estar mal? Gracias
Re: libro de Excel con lista de nombresCreo que lo que te estás perdiendo es la función Eval List (). La forma en que está intentando obtener los valores de esos archivos no va a funcionar. En su lugar, intente esto:
listexcelfile= eval list({file1, file2, file3});Lo mismo se aplica a su definición de listexcelsheet.
También creo que tenía sus variables listexcel file y listexcelsheet al revés.