Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ROGERIO VILELA

Word.Application

Recommended Posts

Ai pessoal, criei uma aplicação que está funcionando com o Word.Application:1) abre um documento específico no word (office 2003);2) permite a edição por parte do usuário;3) permite a impressão e a gravação;Até aí tudo normal, porém, SÓ ESTÁ FUNCIONANDO NO SERVIDOR onde está instalado o IIS, se tentar rodar em qualquer terminal da rede (intranet) não abre o documento... gera apenas o processo do word no servidor mas não aparece nada pro usuário na tela...Alguém já pegou tal situação???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta o código da criação do objeto e as partes onde você o utiliza.Fica mais fácil visualizar o problema.Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<!--#include file="conexao.asp"--><!--#include file="ADOVBS.asp"--><!--#include file="funcoes.asp"--><%Dim icodficha, icodempresa, idatalaudo, icodexameDim nome_paciente, med_responsavel, data_exame, texto, vArquivo, vNumeroicodempresa = 1icodficha = request.querystring("codficha")idatalaudo = Rtrim(request.querystring("datalaudo"))icodexame = request.querystring("codexame")vNumero = "00000000" & Cstr(icodficha)vNumero = Cstr(icodempresa) & "-" & Right(vNumero, 6)vArquivo = "c:\web\cedisul\resultadolaudo\Laudo" & vNumero & ".Doc"Call Abre_Conexao' Se datalaudo igual a nulo, precisa buscar o texto padrao'-------------------------------------------------------------------------------If idatalaudo = "" Then sql = "SELECT textopadrao FROM exame WHERE codexame = '" & icodexame & "'" Set Rsa = Server.CreateObject("ADODB.Recordset") Rsa.Open sql, conexao, adOpenDynamic, adLockOptimistic, adCmdText texto = Rsa("textopadrao") Rsa.Close Set Rsa = Nothing Set Rsa = Server.CreateObject("ADODB.Recordset") Sql = "SELECT l.codlaudo," Sql = Sql & " DATE_FORMAT(l.dataexame,'%d/%m/%Y') AS dataexame," Sql = Sql & " p.nome AS nomep," Sql = Sql & " e.descricao AS descricaoe," Sql = Sql & " c.descricao AS descricaoc," Sql = Sql & " p.estadocivil, p.nacionalidade, p.sexo, p.cor, " Sql = Sql & " ms.nome AS nomes," Sql = Sql & " mr.nome AS nomer," Sql = Sql & " CONCAT('CRM: ', mr.crm, (CASE WHEN mr.crmcomplemento IS NULL THEN '' ELSE CONCAT('/',mr.crmcomplemento) END)) AS crm" Sql = Sql & " FROM laudo l," Sql = Sql & " paciente p," Sql = Sql & " exame e," Sql = Sql & " convenio c," Sql = Sql & " medsolicitante ms," Sql = Sql & " medresponsavel mr" Sql = Sql & " WHERE l.codempresa = '" & icodempresa & "'" Sql = Sql & " AND l.codlaudo = '" & icodficha & "'" Sql = Sql & " AND l.codpaciente = p.codpaciente" Sql = Sql & " AND l.codexame = e.codexame" Sql = Sql & " AND l.codconvenio = c.codconvenio" Sql = Sql & " AND l.codmedicos = ms.codmedicos" Sql = Sql & " AND l.codmedicor = mr.codmedicor" Rsa.Open SQL, Conexao, adLockOptimistic, adOpenDynamic, adCmdText Dim nomep, codlaudo, nomes, descricaoc, descricaoe, nomer, crm, dataexame Dim idia, imes, iano, dmes nomep = Rsa("nomep") codlaudo = Rsa("codlaudo") nomes = Rsa("nomes") descricaoc = Rsa("descricaoc") descricaoe = Rsa("descricaoe") nomer = Rsa("nomer") crm = Rsa("crm") dataexame = Rsa("dataexame") idia = Mid(dataexame, 1, 2) imes = Mid(dataexame, 4, 2) iano = Mid(dataexame, 7, 4) Select Case imes Case "01" dmes = "Janeiro" Case "02" dmes = "Fevereiro" Case "03" dmes = "Março" Case "04" dmes = "Abril" Case "05" dmes = "Maio" Case "06" dmes = "Junho" Case "07" dmes = "Julho" Case "08" dmes = "Agosto" Case "09" dmes = "Setembro" Case "10" dmes = "Outubro" Case "11" dmes = "Novembro" Case "12" dmes = "Dezembro" End Select dataexame = Cstr(idia) & " de " & dmes & " de " & Cstr(iano) Rsa.Close Set Rsa = Nothing Set objWord = CreateObject("Word.Application") With objWord 'torna a aplicaçao visivel 'abre o documento .Documents.add ("c:\web\cedisul\modelolaudo\laudoformulario.dot") ' move para cada indicador e substitui pelos dados .ActiveDocument.Bookmarks("nomep").Select .Selection.Text = CStr(nomep) .ActiveDocument.Bookmarks("codlaudo").Select .Selection.Text = CStr(codlaudo) .ActiveDocument.Bookmarks("nomes").Select .Selection.Text = CStr(nomes) .ActiveDocument.Bookmarks("descricaoc").Select .Selection.Text = CStr(descricaoc) .ActiveDocument.Bookmarks("descricaoe").Select .Selection.Text = CStr(descricaoe) .ActiveDocument.Bookmarks("texto").Select .Selection.Text = CStr(texto) .ActiveDocument.Bookmarks("nomer").Select .Selection.Text = CStr(nomer) .ActiveDocument.Bookmarks("crm").Select .Selection.Text = CStr(crm) .ActiveDocument.Bookmarks("dataexame").Select .Selection.Text = CStr(dataexame) .ActiveWindow.View.Type = 3 .ActiveWindow.View.SeekView = 0 .ActiveDocument.Versions.AutoVersion = 1 .ActiveDocument.SaveAs (vArquivo) .ActiveDocument.Versions.Save "SoftMed - Inclusão - Usuário: " & Cstr(Request.Cookies("login")) .Visible = True End With Set objWord = Nothing ' Registrar a data/hora do laudo '----------------------------------------------------------------------------- Sql = "UPDATE laudo " Sql = Sql & " SET datalaudo = NOW() " Sql = Sql & " WHERE codlaudo = '" & icodficha & "'" Sql = Sql & " AND codempresa = '" & icodempresa & "'" Set RsValor = conexao.execute(Sql) Call Fecha_Conexao 'Se a data do laudo estiver prenchida, existe laudo'-------------------------------------------------------------------------------Else Set objWord = CreateObject("Word.Application") With objWord .Documents.Open (vArquivo) .ActiveDocument.Versions.Save "SoftMed - Edição - Usuário: " & Cstr(Request.Cookies("login")) .ActiveDocument.SaveAs (vArquivo) .Visible = True End With Set objWord = NothingEnd If %><html><script type="text/javascript" language="javascript"> function Descarrega() {// window.close(); }</script><body onload="Descarrega();"></body></html>Caro colega, até pensei nisso, que seria a solução... agora, só não sei como fazer... Agradeceria se me orientasse...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qdo você está criando os objetos do word, altera:

Set objWord = CreateObject("Word.Application")
Por:

 

Set objWord = Server.CreateObject("Word.Application")

Não manjo desse objeto, por isso foi o único problema q encontrei...

 

Ah... Edita esse seu post com o código... Coloque a tag CODE entre colchetes antes de começar o código e depois feche no final...

 

Qualquer coisa, poste.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qdo você está criando os objetos do word, altera:

Set objWord = CreateObject("Word.Application")
Por:
Set objWord = Server.CreateObject("Word.Application")
Não manjo desse objeto, por isso foi o único problema q encontrei...Ah... Edita esse seu post com o código... Coloque a tag CODE entre colchetes antes de começar o código e depois feche no final...Qualquer coisa, poste.
... continua executando apenas no servidor!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai pessoal, criei uma aplicação que está funcionando com o Word.Application:

1) abre um documento específico no word (office 2003);

 

2) permite a edição por parte do usuário;

 

3) permite a impressão e a gravação;

 

Até aí tudo normal, porém, SÓ ESTÁ FUNCIONANDO NO SERVIDOR onde está instalado o IIS, se tentar rodar em qualquer terminal da rede (intranet) não abre o documento... gera apenas o processo do word no servidor mas não aparece nada pro usuário na tela...

Alguém já pegou tal situação???

Prezado Rogério

 

1. O ASP será sempre executado no lado do Servidor;

2. O que você pode fazer é abrir um "modelo" previamente salvo no servidor, efetuar a alteração com os dados provenientes do banco de dados e depois salvar o arquivo com outro nome em um pasta no seu projeto que possua permissão de acesso para gravação.

3. Disponibilizar para o usuário um link para download do arquivo gerado;

4. Ainda não testei em ASP a edição de documentos do Ms-Word, porém fiz o teste no VB 6.0 e é possível abrir o Ms-Word na estação do cliente, porém neste caso essa estação deverá ter o Ms-Word (office) instalado senão não funciona.

 

Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.