Hola. Utilizo el siguiente código: Call wbWorld.Worksheets.PrintOut(1, 1, 1, False, "CutePDF Writer", False, False, "c:\w1.pdf") Me genera el fichero, pero cuando lo abro me da error diciendo que esta dañado. ¿Sabes cómo puedo solucionarlo? Gracias Un saludo
Respuesta de deathwatch
1
1
deathwatch, Conocimiento en VB6, macros en Excel, macros en Outlook,...
Dejame hacer pruebas amigo, y te digo.
Que hay Pues mira, la verdad nunca había usado ese comando (ya aprendí otra cosa :-P), pero por las pruebas que estuve haciendo, te puedo decir lo siguiente: El problema no esta en la impresora que indiques, sino en excel y el tipo de archivo que indiques. Te escribo unas razones y algo que vi: Office 2003 no tiene la opción de Guardar como pdf, como lo tiene Office 2007 (no se que Office uses). Ahora, no se si excel permita imprimir directo a pdf, o por lo menos en Office 2003 casi seguro que no, a menos que tuvieras instalado en tu Office, un complemento que captara cuando mandas a impresión y permitiera la conversión a pdf. Lo que note fue lo siguiente: No importa a que impresora mandes, el archivo final puede no ser un archivo de imagen o impresión. Escribí lo siguiente: Call Worksheets.PrintOut(1, 1, 1, False, "[Impresora que tengo instalada]", False, False, "c:\Documents and Settings\usuario\Mis Documentos\w1.pdf") Call Worksheets.PrintOut(1, 1, 1, False, "[Impresora que tengo instalada]", False, False, "c:\Documents and Settings\usuario\Mis Documentos\pruebaxls.xls") Y al abrir ambos archivos, obtuve el mensaje de que estaban dañados. Probé lo siguiente: Call Worksheets.PrintOut(1, 1, 1, False, "Microsoft Office Document Image Writer", False, False, "c:\Documents and Settings\usuario\Mis Documentos\pruebaxls.tif") Y si me genera el archivo de forma adecuada. Al abrir el archivo pruebaxls.tif, lo abre sin ningún problema. El archivo al ser de imagen (.tif), este puede ser generado y visualizado sin entrar en una conversión de excel a otro tipo de archivo, como pudiera ser un pdf. Finalmente, habría que probar con excel de Office 2007, pero si obtienes el mismo error, lo más probable es que sea por lo que te comento. Y por otro lado, si la idea de que la salida sea a un archivo, porque no pruebas con el comando SaveAs Bueno, pues espero que te haya ayudado lo que te comenté