Fórum Excel Bácico, Avançado e Vba

Este fórum é destina a usuário de Excel, que queiram compartilhar informações a básicas, avançadas e programação em VBA...
 
InícioInício  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Login  

Compartilhe | 
 

 Enviar dados para o e-mail a cada atualização Excel (VBA)

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
AzonBR



Mensagens : 8
Data de inscrição : 20/10/2011

MensagemAssunto: Enviar dados para o e-mail a cada atualização Excel (VBA)   Sab Out 22, 2011 6:06 am

Bom Pessoal, boa noite a todos.

Caso alguem possa mim ajudar ficarei muito grato.

Preciso de um macro que envia dados de uma determinada celula para o e-mail(Outlook) a cada atualização da planilha.
Obs: Esta planilha já é interligada com um sistema automático e os dados são atualizados a cada atualização da planilha.

Preciso que seja da sequinte forma:

Se a celula (E15) For menor que <= "7,49" e maior que >= "7,99"
Enviar para mim um e-mail.
Da Seguinte Forma:
Assunto: pH Água Industrial
Conteudo do e-mail: Valor da Celula atual (E15)

Se a celula (E20) For menor que <= "0,99" e maior que >= "2,30"
Enviar para mim um e-mail.
Assunto: Cloro Água Industrial
Conteudo do e-mail: Valor da Celula atual (E20)

Se a celula (k14) For menor que <= "5,79" e maior que >= "6,53"
Enviar para mim um e-mail.
Assunto: pH Água Floculada
Conteudo do e-mail: Valor da Celula atual (k14)

Fazendo esses primeros passos talves consigo completar o restante das informações.

Obs: da forma que fiz não deu certo, pois ao mandar o primeiro e-mail a planilha acusava erro.


a planilha se encontra no 4shared.

red.com/get/IxZ5ytzP/89885000 .xlsm

A senha para ter acesso ao macro VBA é "97503191010"

Desde ja agradeço a todos.



Última edição por AzonBR em Sab Out 22, 2011 6:19 am, editado 2 vez(es) (Razão : Informações complementares)
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Enviar dados para o e-mail a cada atualização Excel (VBA)   Dom Out 23, 2011 12:07 am

Boa noite!!

Nos mende seu link novamente!!!
Em quanto isso.....tente uma adaptação.

Código:

Sub Mail_Selection_Range_Outlook_Body()
' Don't forget to copy the function RangetoHTML in the module.
' Working in Office 2000-2010
Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object

Set rng = Nothing
On Error Resume Next
'Only the visible cells in the selection
Set rng = Selection.SpecialCells(xlCellTypeVisible)
'You can also use a range if you want
Set rng = Sheets("MySheet").Range("D4:D12").SpecialCells(xlCellTypeVisible)
On Error GoTo 0

If rng Is Nothing Then
MsgBox "The selection is not a range or the sheet is protected" & _
vbNewLine & "please correct and try again.", vbOKOnly
Exit Sub
End If

With Application
.EnableEvents = False
.ScreenUpdating = False
End With

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

[u] On Error Resume Next
With OutMail
.To = "mail_leandro@yahoo.com.br"
.CC = ""
.BCC = ""
.Subject = "Atualização Cronograma"
.HTMLBody = RangetoHTML(rng)
.Send 'or use .Display
End With[/u] On Error GoTo 0

With Application
.EnableEvents = True
.ScreenUpdating = True
End With

Set OutMail = Nothing
Set OutApp = Nothing

End Sub
Function RangetoHTML(rng As Range)
' Changed by Ron de Bruin 28-Oct-2006
' Working in Office 2000-2010
Dim fso As Object
Dim ts As Object
Dim TempFile As String
Dim TempWB As Workbook

TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"

'Copy the range and create a new workbook to past the data in
rng.Copy
Set TempWB = Workbooks.Add(1)
With TempWB.Sheets(1)
.Cells(1).PasteSpecial Paste:=8
.Cells(1).PasteSpecial xlPasteValues, , False, False
.Cells(1).PasteSpecial xlPasteFormats, , False, False
.Cells(1).Select
Application.CutCopyMode = False
On Error Resume Next
.DrawingObjects.Visible = True
.DrawingObjects.Delete
On Error GoTo 0
End With

'Publish the sheet to a htm file
With TempWB.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=TempFile, _
Sheet:=TempWB.Sheets(1).Name, _
Source:=TempWB.Sheets(1).UsedRange.Address, _
HtmlType:=xlHtmlStatic)
.Publish (True)
End With

'Read all data from the htm file into RangetoHTML
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
RangetoHTML = ts.ReadAll
ts.Close
RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
"align=left x:publishsource=")

'Close TempWB
TempWB.Close savechanges:=False

'Delete the htm file we used in this function
Kill TempFile

Set ts = Nothing
Set fso = Nothing
Set TempWB = Nothing


End Function
lcamargo
Membro

 
Mensagens: 9
Registrado em: 24 Mai 2011, 13:47
Solicitou auxílio e agradeceu : 0 time
Colaborou e foi agradecido : 0 time
Voltar ao topo

Att...

Voltar ao Topo Ir em baixo
Ver perfil do usuário
AzonBR



Mensagens : 8
Data de inscrição : 20/10/2011

MensagemAssunto: Re: Enviar dados para o e-mail a cada atualização Excel (VBA)   Dom Out 23, 2011 2:58 am

Ok, mim ajudou bastante fiz umas modificações e ficou bom!
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Enviar dados para o e-mail a cada atualização Excel (VBA)   Dom Out 23, 2011 3:04 am

boa noite!!!

Fico feliz por ter resolvido!!! Laughing

Até a próxima....
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Conteúdo patrocinado




MensagemAssunto: Re: Enviar dados para o e-mail a cada atualização Excel (VBA)   Hoje à(s) 4:43 pm

Voltar ao Topo Ir em baixo
 
Enviar dados para o e-mail a cada atualização Excel (VBA)
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» Usuário receber e-mail a cada período de tempo
» Erro 404 - Not Found ao tentar enviar imagem para o álbum
» Enviar mensagem para todos os membros
» Permissões para enviar mensagens para grupos
» Formulário que envia para o e-mail

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Fórum Excel Bácico, Avançado e Vba :: Avançado/VBA :: Excel Avançado/VBA-
Ir para: