Bom, sou novo no fórum mas vou tentar te ajudar baseado em um código que tenho aqui.
Primeiramente, uma sugestão: não coloque no código um diretório específico, visto que isto pode causar problemas para o funcionamento da macro em outros computadores. Você pode definir uma variável para o diretório em que a planilha está localizada:
sPath = ActiveWorkbook.Path
Deste modo, o código ficaria:
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath + "NomedoArquivo", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Acredito que seja mais fácil mandar email utilizando um código para abrir o Outlook e usando uma string para definir a extensão do arquivo.
Dim ext as string
ext = "PDF"
Var = Enviar(ext) ' Utiliza a funcao para enviar email
Veja se o código abaixo atende sua necessidade:
Function Enviar(ext)
Dim OutApp As Object, OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
sPath = ActiveWorkbook.Path
On Error Resume Next
With OutMail
.Display
End With
With OutMail
.Subject = "Assunto"
.body = "Corpo do Email"
.Attachments.Add sPath + "NomedoArquivo." + ext
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Function
Espero ter ajudado
Postado : 31/12/2014 2:08 pm