Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por rit 29 Jan 2018 às 08:27
Membro 3 Estrelas
Mensagens: 271
Reputação: 7
#29835
Bm dia Amigos,


Eu gostaria de saber o que eu preciso inserir nesse código para que eu possa selecionar a planilha que eu desejo enviar em anexo, no caso a pasta tem 5 planilhas e eu desejo enviar apenas uma delas e nao a pasta toda

Código: Selecionar todosSub ENVIAR()

Dim OutApp As Object
Dim OutMail As Object


Set OutApp = CreateObject("Outlook.Application")

    Set OutMail = OutApp.CreateItem(0)

 

On Error Resume Next

With OutMail
  .to = ""
  .CC = ""
  .BCC = ""
  .Subject = "FOLLOW UP"
  .Body = "Senhores, bom dia!"
  .Attachments.Add ActiveWorkbook.FullName
  .Display

    End With

    On Error GoTo 0

 

    Set OutMail = Nothing

    Set OutApp = Nothing

End Sub
Avatar do usuário
Por wesleyribeiro123 29 Jan 2018 às 09:18
Membro 3 Estrelas
Mensagens: 235
Reputação: 76
#29837
Rit
Bom dia,

Amigo, o teu código está correto, porém para enviar anexar o arquivo em específico é necessário abrir o mesmo e assim executar este código:
Código: Selecionar todos.Attachments.Add ActiveWorkbook.FullName


Eu te aconselharia incluir o comando abaixo no início do teu código:
Código: Selecionar todosApplication.DisplayAlerts=False
Workbooks.Open "Endereço + Nome do arquivo.xlsx"


E no final do teu código incluir este comando:
Código: Selecionar todosWorkbooks.Close
Application.DisplayAlerts = True
Por rit 29 Jan 2018 às 09:34
Membro 3 Estrelas
Mensagens: 271
Reputação: 7
#29838
Eu adicionei essas linhas que você falou porém não adiantou continua mandando a pasta toda, o que eu preciso é que mande apenas uma ABA da pasta, e no caso eu queria selecionar ela "ABA" ou deixar ela pré selecionada no código.
Avatar do usuário
Por alexandrevba 29 Jan 2018 às 09:40
Excel Expert
Mensagens: 1643
Reputação: 578
#29839
Bom dia!!
'Para mais veja..
'https://www.thespreadsheetguru.com/blog/vba-guide-sending-excel-attachments-through-outlook
'https://www.rondebruin.nl/win/s1/outlook/mail.htm
Código: Selecionar todosSub ENVIAR()

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

On Error Resume Next

    With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = False
        .Show
        Filename = .SelectedItems(1)
    End With

    With OutMail
      .To = ""
      .CC = ""
      .BCC = ""
      .Subject = "FOLLOW UP"
      .Body = "Senhores, bom dia!"
      '.Attachments.Add ("C:\Users\Administrador\Downloads\test.txt") 'Uma forma também seria...
      .Attachments.Add Filename, 1
      .Display
    End With
On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing

End Sub


Att
Por rit 29 Jan 2018 às 10:15
Membro 3 Estrelas
Mensagens: 271
Reputação: 7
#29840
O Link ja tem um pronto que me atendeu perfeitamente obrigado!

Agora sobre um codigo que voce escreveu pra mim(AleVba), tem uma parte que é um calculo para as datas eu tentei alterar para ele trazer mais dados mas sem sucesso, como eu faço para que ele busque
além do que esta atrasado duas semanas para frente, a partir de hoje a parte do código é essa eu acredito.

Código: Selecionar todos"=INT((TODAY()-S4+1))"