Jump to content
Fórum Script Brasil
  • 0

Como faço para Enviar email?


Gustavo Jorge

Question

Boa tarde galera,

estou desenvolvendo um sisteminha bem simples, para controle de cadastros de item para a empresa que trabalho, porém não manjo muito do Access e nem do VBA.rss

Bom é o seguinte, estou precisando fazer funcionar um recurso do sistema, que é "quando eu clicar na caixa de seleção (akela quadradinha), o sistema envia um email para determinado destino com os campos que foram preenchidos.

Como posso fazer isso? É necessário programação?

Um abraço, agradeço desde já.

Gustavo

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Olá amigo ..

é necessário sim , ter uma programação para o envio automático de e-mails.

Segue abaixo um exemplo de como fazer isso, ele envia uma parte selecionada para um e-mail (Envia um ranger)

esta comentada o que cada comando vai fazer ok.

Copie o código abaixo e coloque em um módulo dentro do VBA (Visual Basic Application)

abraços e espero ter ajudado. ^_^

Sub Mail_Range()
Dim Source As Range
Dim Destwb As Workbook
Dim wb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Dim FileExtStr As String
Dim FileFormatNum As Long

Set Source = Nothing
On Error Resume Next
Set Source = Range("A1:K50").SpecialCells(xlCellTypeVisible)
On Error GoTo 0

If Source Is Nothing Then
   MsgBox "A celula para enviar esta protegida , ou a planilha esta protegida, apos resolver o problema, tente novamente .", vbOKOnly
   Exit Sub
End If
' desabilita algunas funcoes
With Application
   .ScreenUpdating = False
   .EnableEvents = False
End With

Set wb = ActiveWorkbook
Set Destwb = Workbooks.Add(xlWBATWorksheet)

Source.Copy
' Seleciona a regiao a ser enviada o e-mail
With Destwb.Sheets(1)
   .Cells(1).PasteSpecial Paste:=8
   .Cells(1).PasteSpecial Paste:=xlPasteValues
   .Cells(1).PasteSpecial Paste:=xlPasteFormats
   .Cells(1).Select
   Application.CutCopyMode = False
End With
'  verifica o local a salvar o arquivo
TempFilePath = Environ$("temp") & "\"
' Da um nome para salvar o arquivo e a data
TempFileName = "Selection of " & wb.Name & " " & Format(Now, "dd-mmm-yy h-mm-ss")
' faz a Verificacao da versao do seu office
If Val(Application.Version) < 12 Then
   ' Verifica se esta usando Excel 2000 ou Excel 2003.
   FileExtStr = ".xls": FileFormatNum = -4143
Else
   ' Verificar se esta usando Excel 2007.
   FileExtStr = ".xlsx": FileFormatNum = 51
End If
' salva e envia o e-mail 
With Destwb
   .SaveAs TempFilePath & TempFileName & FileExtStr, FileFormat:=FileFormatNum
   On Error Resume Next
   .SendMail "someone@example.com", "Titulo do e-mail"
   On Error GoTo 0
   .Close SaveChanges:=False
End With

' Deleta o arquivo temporario criado para envio.
Kill TempFilePath & TempFileName & FileExtStr
' Ativa novamente funcoes
With Application
   .ScreenUpdating = True
   .EnableEvents = True
End With
End Sub

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...