Queridos Expertos de Java: Necesito saber de que manera puedo llamar programas asociados a archivos, por ejemplo si paso como parámetro un archivo .xls que me habrá el Excel, si le paso un .html que me habrá el Frontpage, etc. Esto lo necesito hacer en un archivo html, que puede tener Java.
Creo que aquí hay una confusión de términos, ésta es la categoría de javascript, no java. Creo que te refieres a javascript, porque cualquier programador de java conoce las limitaciones de los applets en relación con la interacción con archivos del usuario... empero, JAVA si es un lenguaje de programación, para aplicaciones (exe, com), mientras que html o javascript, no. Bien, te diré que por cuestiones de seguridad no se puede ejecutar ni abrir ningún archivo sin pedir el permiso del usuario (es decir, como cuando bajas un archivo de internet). Si no te incomoda el aviso de aprobación, el link sencillamente seria: <a href="archivo.doc">Doc</a> y el usuario tendria que dar click en Abrir o Guardar, en el mensaje que aparece. Ahora, si quieres abrir directamente el archivo, te recomiendo usar una "Aplicación HTML". Solo guarda tu archivo html con extensión ".hta" Aquí el script para abrir cualquier archivo, y dejamos que el shell abra el programa correspondiente. Así, no importa si es doc, mp3, html, etc. lo abrirá donde debe. <html> <head> <title></title> <hta:APPLICATION ID="Apprunner" APPLICATIONNAME="Apprunner" WINDOWSTATE="normal"> <script language=JScript> //LaunchArchivoByScriptman function launch(archivo) { var theShell = new ActiveXObject("WScript.Shell"); theShell.run(archivo, 1, true); } </script> </head> <body> Bla bla .... <a href="" onclick="launch('miArchivo.doc');return false;">Doc</a> <a href="" onclick="launch('otroarchivo.zip');return false;">Zip</a> ... </body> </html> Donde, "miArchivo.doc" es un archivo que esta en la misma carpeta que el hta. "../Otroarchivo.zip", pues eso, otro archivo. Es decir, solo pon el nombre de el archivo a abrir en la función launch('...'). Repito: guardalo con extensión .hta, en ves de htm o html.
La verdad es que si me confundí de términos, quise decir JavaScript Me sirvió mucho tu respuesta pero me gustaría saber específicamente como abrir un archivo en word desde JavaScript, lo intente con Word.Application donde tu tienes WScript.Shell pero no se cual es la siguiente instrucción para abrir el archivo, de antemano gracias..!
La función la dejamos tal cual, y a la hora de abrir el archivo ponemos así: <a href="" onclick="launch('tuArchivo.doc');return false;">Archivo Word</a> Debe de abrir tu archivo DOC en Word. Ahora bien, si deseas abrir un documento en Word (u otro programa), que no necesariamente sea DOC o similar, por ejemplo un TXT, solo añade el path del programa en la función, así: <script language=JScript> //LaunchArchivoByScriptman function launch(archivo) { var theShell = new ActiveXObject("WScript.Shell"); theShell.run("C:/WINDOWS/notepad.exe "+archivo, 1, true); } </script> en el ejemplo puse notepad, si hizieras un link como este: <a href="" onclick="launch('archivo.zip');return false;">Zip</a> Abrirías EN Notepad el archivo ZIP. Solo sustituye por la dirección de tu archivo word.exe Incluso puedes hacer varias funciones, una para word, otra para excel, etc. Saludos, scriptman.