Ir ao conteúdo
  • Cadastre-se

Vba macro email lotus notes/ corpo de email


Posts recomendados

Olá achei um codico VBA, para enviar um email pelo excel com o lotus notes, estou semanas procurado um codico que funcione o corpo de email, achei esse aqui que aparentemente funciona, só que da um erro na linha 7 = Dim Data As DataObject

 

Alguém me ajuda a traduzir aqui também? 

 

 

VBA code:

Sub Send_Unformatted_Rangedata()
   Dim noSession As Object, noDatabase As Object, noDocument As Object
   Dim vaRecipient As Variant
   Dim rnBody As Range
   Dim Data As DataObject
 
   Const stSubject As String = "Send only an unformatted range of data."
   Const stMsg As String = "Data as part of the e-mail's body."
   Const stPrompt As String = "Please select the range:"
 
   'This is one technique to send an e-mail to many recipients but for larger
   'number of recipients it's more convenient to read the recipient-list from
   'a range in the workbook.
   vaRecipient = VBA.Array("[email protected]", "[email protected]")
 
   On Error Resume Next
   Set rnBody = Application.InputBox(Prompt:=stPrompt, _
         Default:=Selection.Address, Type:=8)
 
   'The user canceled the operation.
   If rnBody Is Nothing Then Exit Sub
 
   On Error GoTo 0
 
   'Instantiate Lotus Notes COM's objects.
   Set noSession = CreateObject("Notes.NotesSession")
   Set noDatabase = noSession.GETDATABASE("", "")
 
   'Make sure Lotus Notes is open and available.
   If noDatabase.IsOpen = False Then noDatabase.OPENMAIL
 
   'Create the document for the e-mail.
   Set noDocument = noDatabase.CreateDocument
 
   'Copy the selected range into memory.
   rnBody.Copy
 
   'Retrieve the data from then copied range.
   Set Data = New DataObject
   Data.GetFromClipboard
 
   'Add data to the mainproperties of the e-mail's document.
   With noDocument
      .Form = "Memo"
      .SendTo = vaRecipient
      .Subject = stSubject
      'Retrieve the data from the clipboard.
      .Body = Data.GetText & " " & stMsg
      .SaveMessageOnSend = True
   End With
 
   'Send the e-mail.
   With noDocument
      .PostedDate = Now()
      .Send 0, vaRecipient
   End With
 
   'Release objects from memory.
   Set noDocument = Nothing
   Set noDatabase = Nothing
   Set noSession = Nothing
 
 
   'Activate Excel for the user.
   AppActivate "Microsoft Excel"
 
   'Empty the clipboard.
   Application.CutCopyMode = False
 
   MsgBox "The e-mail has successfully been created and distributed.", vbInformation
 
End Sub

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...