[Resolvido] Gerar excel e enviar por email
Seguinte pessoal...
tenho um código que gera um arquivo em excel, porém gostaria que automaticamente ao gerar esse arquivo, fosse enviado um email com esse arquivo anexo.
Estou tentando utilizar o envio de email com o cdonts, mas acho que minha lógica ta fraca e nao to conseguindo...
vou postar os codigos e se alguém puder me dar uma luz...
ARQUIVO QUE GERA EXCEL (funcionando 100%)
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<% Response.Charset="ISO-8859-1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<%
Dim Conexao
Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & Server.MapPath("db\banco.mdb")
sql3 = request.form("excel")
sql = ""& sql3 & ""
Set Rs = Conexao.Execute(SQL)
arquivo_excel= "orcamento.xls"
set fso = createobject("scripting.filesystemobject")
Set act = fso.CreateTextFile(server.mappath(arquivo_excel), true)
act.WriteLine("<html><body>")
act.WriteLine("<table border=""1"">")
act.WriteLine("<tr bgcolor=""#C0C0C0"">")
act.WriteLine("<th nowrap>Referência</th>")
act.WriteLine("<th nowrap>Data</th>")
act.WriteLine("<th nowrap>Empresa</th>")
act.WriteLine("<th nowrap>Nota</th>")
act.WriteLine("<th nowrap>Instrumento</th>")
act.WriteLine("<th nowrap>Marca</th>")
act.WriteLine("<th nowrap>Capacidade</th>")
act.WriteLine("<th nowrap>Modelo</th>")
act.WriteLine("<th nowrap>Fabricação</th>")
act.WriteLine("<th nowrap>Patrimônio</th>")
act.WriteLine("<th nowrap>Acessório</th>")
act.WriteLine("<th nowrap>Valor Unitário</th>")
act.WriteLine("<th nowrap>Contato</th>")
act.WriteLine("<th nowrap>Obs</th>")
act.WriteLine("<th nowrap>Valor</th>")
act.WriteLine("<th nowrap>CAL.</th>")
act.WriteLine("<th nowrap>P.E</th>")
act.WriteLine("<th nowrap>Pgto.</th>")
act.WriteLine("</tr>")
While NOT Rs.EOF
Act.WriteLine("<tr>")
act.WriteLine("<td align=""left"">"& rs("autonum") & "</td>")
act.WriteLine("<td align=""left"">"& rs("ddata") & "</td>")
act.WriteLine("<td align=""left"">"& rs("empresa") & "</td>")
act.WriteLine("<td align=""left"">"& rs("nota") & "</td>")
act.WriteLine("<td align=""left"">"& rs("instrumento") & "</td>")
act.WriteLine("<td align=""left"">"& rs("marca") & "</td>")
act.WriteLine("<td align=""left"">"& rs("capacidade") & "</td>")
act.WriteLine("<td align=""left"">"& rs("modelo") & "</td>")
act.WriteLine("<td align=""left"">"& rs("fabricacao") & "</td>")
act.WriteLine("<td align=""left"">"& rs("patrimonio") & "</td>")
act.WriteLine("<td align=""left"">"& rs("acessorio") & "</td>")
act.WriteLine("<td align=""left"">"& rs("vunitario") & "</td>")
act.WriteLine("<td align=""left"">"& rs("contato") & "</td>")
act.WriteLine("<td align=""left"">"& rs("obs") & "</td>")
act.WriteLine("<td align=""left"">"& rs("valor") & "</td>")
act.WriteLine("<td align=""left"">"& rs("vcalibracao") & "</td>")
act.WriteLine("<td align=""left"">"& rs("pentrega") & "</td>")
act.WriteLine("<td align=""left"">"& rs("pgto") & "</td>")
act.WriteLine("</tr>")
rs.movenext
Wend
act.WriteLine("</table></body></html>")
act.close
%>
<script>
window.location.href = "orcamento.xls";
</script>
</body>
</html>
CÓDIGO DO ENVIO DE EMAIL QUE ESTOU TENTANDO UTILIZAR...
<%
Option Explicit 'Obrigatoriedade de declaração de variáveis
Dim ObjMail 'Declaração da variável
Set ObjMail = Server.CreateObject("CDONTS.NewMail") 'Inicia o objeto NewMail
ObjMail.To = "email@email.com" 'Destinatário
ObjMail.From = "email@email.com" 'Remetente
ObjMail.Subject = "Orçamento" 'Título
ObjMail.Body = "Segue anexo o excel com o orçamento" 'Texto da mensagem
ObjMail.AttachFile = "arquivoanexo" 'Anexo da mensagem
ObjMail.Send 'Envia mensagem
Set ObjMail = nothing 'Liberados recursos da mensagem
%>
Bom, é isso ai pessoas, o envio de email através de um form ta tranquilo, porém ao tentar integrar essa geração automatica do excel, complica...
entaooo...se alguém ai puder me ajudar, ficarei muitoo grato :D
Discussão (18)
Carregando comentários...