Abrindo aplicativo com Applet

18 respostas
R

Pessoal preciso executar aplicativos como Word, Exel, Acrobat ou qualquer outro executável a partir do browser!

Preciso disto pelo seguinte motivo:

Estou desenvolvendo uma intranet onde haverá uma página com uma série de aplicativos para serem abertos, e ao clicar no ícone do aplicativo deverá ser disparado o mesmo; por exemplo, o usuario clica no icone do Word e automaticamente o Word é aberto.

É possível fazer isso sem ser em apllet? Applet é o meio mais recomendado para fazer isso?

E em applet como eu faço?

Sou iniciante em java e este é um dos desafios que encontro logo de cara, se alguém puder me ajudar com um exemplo ou coisa assim!

Obrigado! 8)

18 Respostas

RodrigoSol

Nesse Caso, você pode usar um codigo JavaScript...
Já que a aplicação vai rodar no cliente... isso resolve!

Abrindo o Excel...

var Excel;

Excel = new ActiveXObject("Excel.Application");

Excel.Visible = true;
R

Rodrigo tô fazendo da seguinte forma:

<html><head><title>JavaScript</title>

<script>

Function AbrirExcel(){

var Excel;

Excel = new ActiveXObject(“Excel.Application”);

Excel.Visible = true;

}

</script>

</head>

</html>

mas dá o erro “;” esperado na linha 3, o que pode ser? Onde estou errando?

RodrigoSol

O F de function deve ser minusculo ...
além disso você deve colocar a linguagem do script

<script language="javascript">

E outra coisa... como é uma função você de chama-la de algum lugar!
<script languagem="javascript"> 
function AbrirExcel(){ 
var Excel; 
Excel = new ActiveXObject("Excel.Application"); 
Excel.Visible = true; 
} 

//Abre o Excel
AbrirExcel();

</script>
R

agora da o seguinte erro

“O servidor de automação não pode criar o objeto.” na linha 5

É alguma coisa relativa a configuração do browser?

meu código ficou assim:

<html><head><title>JavaScript</title>

<script languagem=javascript>

function AbrirExcel(){

var Excel;

Excel = new ActiveXObject(Excel.Application);

Excel.Visible = true;

}

</script>

</head>

Open </html>
RodrigoSol

Ele não ta encontrado o objeto do excel…

Eu testei esse codigo e roda normal…

Qual a versão do Excel que você tem na sua maquina?

Pode ser também que o seu browser está sem permissão de execução de ActiveX.[/code]

RodrigoSol

Uma outra alternativa e você criar páginas com MIME TYPE do Aplicativo:

Essa opção é interessante por que você não fica dependete do aplicativo ter suporte a vba e o browser está com activex habilitado

você pode usar a declaração <%@ page contentType="" %> com JSP.

segue uma lista de mime types

type=application/java-archive exts=jar
type=application/msword exts=doc
type=application/vnd.ms-excel exts=xls,xlw,xla,xlc,xlm,xlt
type=application/vnd.ms-powerpoint exts=ppt,pps,pot
type=application/vnd.ms-project exts=mpp
type=application/x-msaccess exts=mdb
type=application/x-mspublisher exts=pub
type=application/x-msschedule exts=scd
type=application/winhlp exts=hlp
type=application/x-mscardfile exts=crd
type=application/x-msclip exts=clp
type=application/x-msmediaview exts=m13,m14
type=application/x-msmetafile exts=wmf
type=application/x-msmoney exts=mny
type=application/x-msterminal exts=trm
type=application/x-mswrite exts=wri

type=application/octet-stream exts=bin,exe
type=application/astound exts=asd,asn
type=application/fastman exts=lcc
type=application/font-tdpfr exts=pfr (added 12/13/99)
type=application/mac-binhex40 exts=hqx
type=application/mbedlet exts=mbd
type=application/oda exts=oda
type=application/pdf exts=pdf
type=application/postscript exts=ai,eps,ps
type=application/rtf exts=rtf
type=application/studiom exts=smp
type=application/timbuktu exts=tbt
type=application/x-javascript exts=js
type=application/x-asap exts=asp
type=application/x-crossword exts=puz
type=application/x-csh exts=csh
type=application/x-director exts=dir,dxr,dcr
type=application/x-dwf exts=dwf
type=application/x-dot exts=dot
type=application/x-dvi exts=dvi
type=application/x-earthtime exts=etc
type=application/x-envoy exts=evy
type=application/x-excel exts=xls,xlc,xll,xlm,xlw
type=application/x-gtar exts=gtar
type=application/x-hdf exts=hdf
type=application/x-latex exts=latex
type=application/x-maker exts=fm
type=application/x-mif exts=mif,mi
type=application/x-mocha exts=mocha,moc
type=application/x-NET-Install exts=ins
type=application/x-netcdf exts=nc,cdf
type=application/x-ns-proxy-autoconfig exts=proxy
type=application/x-pointplus exts=css
type=application/x-salsa exts=slc
type=application/x-sh exts=sh
type=application/x-shar exts=shar
type=application/x-shockwave-flash exts=swf
type=application/x-sprite exts=spr,sprite
type=application/x-stuffit exts=sit (added 8/10/99)
type=application/x-tar exts=tar
type=application/x-tcl exts=tcl
type=application/x-tex exts=tex
type=application/x-texinfo exts=texinfo,texi
type=application/x-timbuktu exts=tbp
type=application/x-tkined exts=tki,tkined
type=application/x-troff-man exts=man
type=application/x-troff-me exts=me
type=application/x-troff-ms exts=ms
type=application/x-troff exts=t,tr,roff
type=application/x-wais-source exts=src
type=application/zip exts=zip

type=audio/basic exts=au,snd
type=audio/echospeech exts=es,esl
type=audio/midi exts=midi,mid
type=audio/x-aiff exts=aif,aiff,aifc
type=audio/x-wav exts=wav
type=audio/x-pn-realaudio exts=ra,ram
type=audio/x-pn-realaudio-plugin exts=rpm,rm
type=audio/x-pac exts=pac
type=audio/x-epac exts=pae
type=audio/x-mpeg exts=mp3 (added 2/25/98)

type=image/x-djvu exts=djv,djvu (added 4/26/99)
type=image/x-iw44 exts=iw4,iw44 (added 4/26/99)
type=image/fif exts=fif
type=image/gif exts=gif
type=image/ief exts=ief
type=image/ifs exts=ifs
type=image/jpeg exts=jpeg,jpg,jpe
type=image/png exts=png
type=image/tiff exts=tiff,tif
type=image/vnd exts=dwg,svf
type=image/wavelet exts=wi
type=image/bmp exts=bmp
type=image/x-cmu-raster exts=ras
type=image/x-portable-anymap exts=pnm
type=image/x-portable-bitmap exts=pbm
type=image/x-portable-graymap exts=pgm
type=image/x-portable-pixmap exts=ppm
type=image/x-rgb exts=rgb
type=image/x-xbitmap exts=xbm
type=image/x-xpixmap exts=xpm
type=image/x-xwindowdump exts=xwd
type=image/x-rush exts=uff
type=i-world/i-vrml exts=ivr

type=text/html exts=htm,html
type=text/plain exts=txt
type=text/richtext exts=rtx
type=text/tab-separated-values exts=tsv
type=text/x-setext exts=etx
type=text/x-speech exts=talk

type=ulead/vrml exts=uvr (added 11/22/99)
type=video/isivideo exts=fvi
type=video/mpeg exts=mpeg,mpg,mpe
type=video/msvideo exts=avi
type=video/x-ms-asf exts=asf,asx (added 8/16/99)
type=video/quicktime exts=qt,mov
type=video/vivo exts=viv,vivo
type=video/wavelet exts=wv
type=video/x-sgi-movie exts=movie

type=x-world/x-svr exts=svr
type=x-world/x-vrml exts=wrl
type=x-world/x-vrt exts=vrt

R

O Excel é a versão 7.0 (pra Win95) tô achando que pode ser isso!

R

Rodrigo Sol, mais uma luz (hehe) como eu aplico isso no código; por exemplo eu coloco isso tudo dentro do Head da página e depois chamo de onde eu quiser, como ficaria? Desculpe tamanha ignorância, iniciante é uma desgraça ! ! !

RodrigoSol

Não esquenta cara!

O problema é realmente a versão do excel… esse codigo deve funcionar do 97 pra cima…

Você pode criar uma página JSP e usar response.setContentType() para setar o tipo mime da pagina…

<%@ page language="java" %>

<%  
response.setContentType("application/msword");
%>
R

Como faço isso Rodrigo, vou ter que criar dois aqruivos e chamar o jsp a partir de da página que eu quero em html.

Como ficaria o código com um link, por exemplo

|a href="#" onClick=“chamaJSPqueAbreOprograma”| Abri |/a|

ou algo deste tipo com o código na mesma página?

RodrigoSol

bom você pode fazer assim:

Pagina com os links:

<a href="openApplication.jsp?app="word"> Word </a>
<a href="openApplication.jsp?app="excel"> Excel </a>

e outra jsp pra processa:

<%
   if(request.getParameter("app") != null){
              if(response.getParameter("app").equals("word"))
                       response.setContentType("application/msword");
              if(response.getParameter("app").equals("excel"))
                       response.setContentType("application/excel");
             }
%>
R

Rodrigo se eu utilizar o seguinte código

<html><head>

<script languagem=“javascript”>

function AbrirExcel(){

var Excel;

Excel = new ActiveXObject(“Excel.Application”);

Excel.Visible = true;

}

</script>

</head>

OpenApp

</html>

em um arquivo .htm na minha máquina (no meu HD) e ele funciona, agora se eu tentar usalo a partir do Server e que dá aquele erro, a dica do JSP me parece excepcional, mas não manjo nada JSP, Java e afins (tô correndo atrás pra que eu possa aprender logo!) ou seja, quando tento executar o Script do server ele não funciona ! ! !

Faço parate da equipe que etsá desenvolvendo uma Intranet em Zope (www.zope.org) tenho resolver este “detalhe”, daria para trabalhar com JSP no Zope, caso não dê, pq ocorre isso? Já que o código está correto e quando é executado na máquina local ele funciona?

Obrigado

RodrigoSol

De zope… tenho vontade de dar uma olhada … mas como não tive tempo ainda, não posso falar… vamos ao script:

Talvez vc ja saiba, mas é importante:

Na internet temos dois tipo de processamento: Server-Side e Client-Side…

Neste caso o processamento e client-side… ou seja: o universo de processamento fica restrito ao ambiente do cliente…

para esse script rodar, você tera que se certificar que o cara tenha uma versão compativel do software que você ta chamando, que o cara habilitou activex no browser… acho q provalvelmente, só rode no explorer…

além disso você só vai poder chamar aplicativos que tenham interface com ActiveX…

Pra falar a verdade acho que nenhuma dessas opções são realmentes boas :cry:

Pra que você precisa chamar esses aplicativos do browser? pode ser, que dependedo do que você quer fazer exista soluções mais elegantes…

Acho que java na sua extensão, não pode te ajudar muito agora…

Uma curiosodade:

Na versão 5.0 do IE… ele tinha uma falha que permitia que um programa no cliente fosse executa com uma simples tag html passando o class id…

R

Galera consegui o que queria, tá rodando blz ! !! !

Mas preciso abrir tb o Acrobat Reader e o Client do Lotus Notes alguém sabe como “chamá-los” ! ! ! !

Valew

R

galera consegui ! ! ! ! ! segue abaixo os códigos:

function AbrirNotes(){ 
             var Notes; 
             Notes = new ActiveXObject("Notes.NotesUIWorkspace"); 
             Notes.Visible = true; 
           }  


          function AbrirAcrobat(){ 
              var objAcrobat;
              objAcrobat = new ActiveXObject("AcroExch.App"); 
              objAcrobat.Show();
           }

Se servir pra alguém . . . :wink:

T

Pessoal,
Estou com um problema:
Tenho que criar um link que abra o windows explorer. Mas não dentro do Browser, mas sim o aplicativo mesmo. Da mesma forma como eu usei o exemplo abaixo para abrir o microsoft excel.

function AbrirExcel(){

var Excel;

Excel = new ActiveXObject(Excel.Application);

Excel.Visible = true;

}

Alguem sabe como eu faço isso pra abrir o windows explorer???

cain

Pessoal aproveitando o topico alguem sabe como eu executo um aplicativo a partir de uma aplicação java?

hiarlay

O meu javascript roda primera, mas quando eu rodo pelo container web ele não cria o objeto ActiveXObject(“Excel.Applicattion”);

Detalhes dos erros da página da Web

Mensagem: O servidor de automação não pode criar objeto
Linha: 16
Caractere: 2
Código: 0
URI: file:///C:/Users/Hiarlay/Desktop/excel1.html

Alguma luz?
:idea:

Criado 23 de outubro de 2003
Ultima resposta 17 de set. de 2010
Respostas 18
Participantes 5