Notifications
Clear all

Anexar Arquivo ao corto do e-mail

8 Posts
1 Usuários
0 Reactions
4,045 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde galera! Uso o recurso abaixo para enviar dados de uma planilha para um destinatário X, precisava que nesse codigo conseguisse anexar um arquivo, alguem já viu algo parecido?

Private Sub CommandButton1_Click()
Dim notesSession As Object
Dim notesMailFile As Object
Dim notesDocument As Object
Dim notesField As Object
Dim receptores(2) As Variant
Dim Body As Object

'Cria Uma lista de destinatários
receptores(0) = "[email protected]"

'Abre uma sessão do notes, abre a base de dados e cria um documento.
Set notesSession = CreateObject("Notes.NotesSession")
Set notesMailFile = notesSession.GetDataBase("", "names.nsf") '- *.nsf = arq. com lista de contatos
Set notesDocument = notesMailFile.CreateDocument

'Configura Subject, SendTo e Abre um nomo corpo de e-mail
Set notesField = notesDocument.AppendItemValue("Subject", "Teste de Envio via Excel...")
Set notesField = notesDocument.AppendItemValue("SendTo", receptores)
Set notesField = notesDocument.CreateRichTextItem("Body")

'Aqui que não sei como USAR!
Set notesField = EmbedObject(EMBED_ATTACHMENT, "Adobe Reader Speed Launch", "C:Documents and SettingsDesktopTransFORMERS.xls") ' Não funciona!

'Escreve o texto padrão no e-mail.
With notesField
.AppendText Plan1.Cells(9, 2).Value 'aqui faz referencia a uma variável ou a uma parte da planilha
.ADDNEWLINE (1)
.AppendText "Para um possível uso no arquivo do GSAM. "
.ADDNEWLINE (1)
.AppendText "Chegou? Tudo Certo?"
.ADDNEWLINE (3)

End With

'Envia o e-mail
notesDocument.Send False

'Limpa as variáveis
Set notesSession = Nothing
Set notesMailFile = Nothing
Set notesDocument = Nothing
Set notesField = Nothing
Set Body = Nothing
End Sub

 
Postado : 11/08/2009 12:00 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


Para Outlook:

If Not IsMissing(AttachmentPath) Then
Set objOutlookAttach = .Attachments.Add(AttachmentPath)
End If

Veja se consegue adaptar para o LotusNotes...

 
Postado : 11/08/2009 12:23 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ah..1° desculpa pelo erro no titulo..escrevi correndo " MAls moderas"..rs

Então vou tentar..amanha no trabalho qualque coisa eu volto..!!

Valew

 
Postado : 11/08/2009 5:47 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Caio, experimente esse bloco de código

Call Body.EMBEDOBJECT(1454, "", "C:Anexo.xls", "Attachment")
 
Postado : 11/08/2009 8:33 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá Pessoal!

Criei um programa em VBA aqui na empresa onde ele cria o relatório baseado em 36 tabelas, e depois envia a cada gerente por e-mail, pelo Outlook.

Fiz toda a programação e tudo funciona muito bem, mas a única situação que não consegui programar ou descobrir o comando, foi a de inserir a assinatura automática do Outlook em cada e-mail.

Alguém poderia me dar uma dica de como faço isso?

Se alguém puder me ajudar eu agradeço!

Abraço!

 
Postado : 12/08/2009 5:25 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Então tentei esse aii..
'
Call Body.EMBEDOBJECT(1454, "", "R:VPP - PRCTráfego Resp Rafael8 - AgostoBDSloader.JPG", "Attachment")

mais ele me retorna um erro:
Erro de tempo de execução '91'
A VAriavel do objeto ou a variavel do bloco 'with ' não é definida.

tentei usar algun exemplos que achei no Google mais todos dão algun tipo de erro..sómente esse que citei ai em cima funa 100%

 
Postado : 12/08/2009 5:49 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Caio
Provavelmente é por causa do Body que se refere ao objeto do seu corpo de email.
testa esse codigo, ve se funciona

Dim Maildb As Object
Dim MailDoc As Object
Dim Body As Object
Dim Session As Object
'Start a session to notes
Set Session = CreateObject("Lotus.NotesSession")
'This line prompts for password of current ID noted in Notes.INI
Call Session.Initialize 
'or use below to supply password of the current ID
'Call Session.Initialize("<password>")
'Open the mail database in notes
Set Maildb = Session.GETDATABASE("", "c:notesdatamailmymail.nsf")
If Not Maildb.IsOpen = True Then
Call Maildb.Open
End If
'Create the mail document
Set MailDoc = Maildb.CREATEDOCUMENT
Call MailDoc.ReplaceItemValue("Form", "Memo")
'Set the recipient
Call MailDoc.ReplaceItemValue("SendTo", "John Doe")
'Set subject
Call MailDoc.ReplaceItemValue("Subject", "Subject Text")
'Create and set the Body content
Set Body = MailDoc.CREATERICHTEXTITEM("Body")
Call Body.APPENDTEXT("Body text here")
'Example to create an attachment (optional)
Call Body.ADDNEWLINE(2)
Call Body.EMBEDOBJECT(1454, "", "C:filename", "Attachment")
'Example to save the message (optional)
MailDoc.SAVEMESSAGEONSEND = True
'Send the document
'Gets the mail to appear in the Sent items folder
Call MailDoc.ReplaceItemValue("PostedDate", Now())
Call MailDoc.SEND(False)
'Clean Up
Set Maildb = Nothing
Set MailDoc = Nothing
Set Body = Nothing
Set Session = Nothing

da uma olhada nesse documento, é da propria IBM, responsável pelo Lotus.
nele, eles documentam como deve fazer isso.

PS: Não testei, pois não tenho Notes nessa maquina

http://www-01.ibm.com/support/docview.wss?uid=swg21178583

 
Postado : 12/08/2009 9:55 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bouaaa.....
Valew caraa!

Na verdade tive que fazer algumas mudanças junto com o outro codigo que eu já tinha mais deu tudo certoo...fica mto mais pratico enviar os relátorios direto do EXCEL..!!

valew.

 
Postado : 13/08/2009 6:15 pm