Notifications
Clear all

adicionar mais um comando a Macro de envio

7 Posts
3 Usuários
0 Reactions
1,063 Visualizações
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Tenho este comando abaixo ao qual esta funcionando correto, porem tenho a necessidade de inrtroduzir uma linha e nao estou conseguindo.

Quero na linha .Body = Corpo, ( AS20 ), colocar uma instrucao para pular uma linha e em seguida acrescentar a celula "AS24"

Pensei nisso aqui, mas ta dando errado :

.Body = corpo '& vbCrLf & _
"" & vbCrLf & _
Sheets(aba).Range("AS24").Value

Segue abaixo a Macro que como esta funciona perfeitamente.

Sub A3_EnviaPlanilhaAtiva_Gauer()

Dim oOutlook As Object
Dim oEmail As Object
Dim wbAtual As Workbook
Dim sNomeArquivo As String
Dim sLocalTemp As String
Dim resultado  As VbMsgBoxResult
Dim aba As String
aba = Range("F4").Value  'referente Celula aba "Pedido Gauer"

Dim corpo As String
corpo = Sheets(aba).Range("AS20")

Application.ScreenUpdating = False
Set oOutlook = CreateObject("Outlook.Application")
Set oEmail = oOutlook.CreateItem(0)
sLocalTemp = "C:UsersAndreDesktop"

' Copia a planilha ativa e salva em local temporário
ActiveSheet.Copy
Set wbAtual = ActiveWorkbook

' Aqui você define qual planilha deve ser gravada
sNomeArquivo = wbAtual.Worksheets("PEDIDO LOJA").name


On Error Resume Next
Kill sLocalTemp & sNomeArquivo
On Error GoTo 0
wbAtual.SaveAs Filename:=sLocalTemp & sNomeArquivo

With oEmail
    .To = "teste@teste.com.br"
    .Subject = "Pedido " & [G1].Value & " - " & [F4].Value
    .Body = corpo
    .Attachments.Add wbAtual.FullName
    .ReadReceiptRequested = True ' confirmação de leitura

resultado = MsgBox("Deseja ver o Envio e Adicionar um anexo( SIM ) ou ( NÃO ) ?", vbYesNo, "Tomando uma Decisão")
    
If resultado = vbYes Then
    .Display
 Else
    .Send
End If

'Envia o email a Gauer
'NovoArquivoXLS.SendMail "gauer@gauerdobrasil.com.br", "Pedido " & [F4].Value, True


End With

'Deleta o arquivo temporário
wbAtual.ChangeFileAccess Mode:=xlReadOnly
Kill wbAtual.FullName
wbAtual.Close SaveChanges:=False

Set oEmail = Nothing
Set oOutlook = Nothing


End Sub

Grato

Andre

 
Postado : 14/01/2016 3:39 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Tenta trocando vbCrLf por Chr (13)

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 14/01/2016 4:17 pm
(@srobles)
Posts: 231
Estimable Member
 

Andre,

Experimente o que o mestre falou. Caso não atenda, experimente alterar a string corpo para:

corpo = Sheets(aba).Range("AS20") & Chr(13) & Chr(13) & Sheets(aba).Range("AS24")

E então defina no item de e-mail :

.Body = corpo

Abs

Espero ter ajudado.

Abs.

Saulo Robles

 
Postado : 14/01/2016 5:46 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Andre,

Experimente o que o mestre falou. Caso não atenda, experimente alterar a string corpo para:

corpo = Sheets(aba).Range("AS20") & Chr(13) & Chr(13) & Sheets(aba).Range("AS24")

E então defina no item de e-mail :

.Body = corpo

Abs

Assim não foi :

.body = corpo & Chr (13) & Chr (13) & sheets(aba).Range("AS24"). ' e nem pondo .Value no final.

E da forma sugerida também não .

 
Postado : 14/01/2016 6:19 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Desculpe !! Agora foi sim botei Ranger ao inves de Range em :
.body = corpo & Chr(13) & Chr(13) & sheets(aba).Range("AS24")

Muito grato de novo !!!!

Falta agora resolver o outro topico desta mesma macro agora.

 
Postado : 14/01/2016 6:44 pm
(@srobles)
Posts: 231
Estimable Member
 

André,

Tentei assim e funcionou

Dim vCel, vCel1 As String
vCel = Sheets(aba).Range("AS20")
vCel1 = Sheets(aba).Range("AS24")

Dim corpo As String
corpo = vCel + vbNewLine + vbNewLine + vCel1

E no item de Email

.Body = corpo

Abs

Espero ter ajudado.

Abs.

Saulo Robles

 
Postado : 14/01/2016 6:57 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

funcionou sim, eu fiz a correcao , eu que usei Ranger ao ives de Range.

Assim ficou joia !!

.body = corpo & Chr(13) & Chr(13) & sheets(aba).Range("AS24")

Muito Obrigado

 
Postado : 14/01/2016 7:03 pm