Prezados,
Montei uma planilha com duas macros, a primeira para salvar a planilha ativa como pdf em uma pasta específica na rede do trabalho, segue abaixo:
Sub Salvando()
Dim Nome As String
Dim SDate As String
Dim MyLocal As String
MyLocal = "z:Coaut-URGINDEXAÇÃOCOAUT-TELETRABALHO"
Nome = Range("p7").Value
SDate = Now
If Nome <> vbNullString Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=MyLocal & Nome & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
MsgBox "O arquivo " & Nome & " foi salvo em " & SDate & ".", vbOKOnly, "Salvo"
Else
MsgBox "Nome do arquivo inválido", vbOKOnly, "Salvo"
End If
End Sub
Essa funciona perfeitamente.
----------------------------------------------------------------------------------------------------------------------------------------------
A segunda macro seria para enviar a planilha ativa por email (via outlook) em formato pdf. Segue abaixo como ficou:
Sub eMailActiveWorkbook()
Dim OL As Object
Dim EmailItem As Object
Dim Wb As Workbook
Application.ScreenUpdating = False
Set OL = CreateObject("Outlook.Application")
Set EmailItem = OL.CreateItem(olMailItem)
Set Wb = ActiveWorkbook
Wb.Save
With EmailItem
.Subject = Range("p9").Value
.Body = "Prezado(a)s," & vbCrLf & "Enviando cota para " & Range("z4").Value & " (" & Range("P8").Value & ")" & vbCrLf & "Um abraço e bom trabalho!" & vbCrLf & " " & vbCrLf & "Cordialmente," & vbCrLf & "José Fernando" & vbCrLf & "Coordenador de Área" & vbCrLf & "Digitalização"
.To = Range("p10").Value
.Importance = olImportanceNormal
.Attachments.Add Wb.FullName
.Send
MsgBox "E-mail enviado com sucesso!", vbInformation, "Enviado"
End With
Application.ScreenUpdating = True
Set Wb = Nothing
Set OL = Nothing
Set EmailItem = Nothing
End Sub
Sub CommandButton2_Click()
Dim pasta As String
Dim nome_arquivo As String
pasta = Range("G1").Value
nome_arquivo = Range("A12") & ".xlsm"
ActiveWorkbook.SaveAs Filename:=pasta & nome_arquivo, FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
MsgBox "Salvo com sucesso!" + Chr(13) + Chr(13) & nome_arquivo
End Sub[/color]
Essa envia automaticamente por email. Ficou excelente.
Porém ela envia o próprio arquivo em excel e preciso que ela envie somente o PDF da planilha ativa, (exatamente como a primeira macro faz, só que além de salvar na pasta da rede ela também enviaria esse pdf). Alguém pode me ajudar? Sou um pouco cru em VBA e fui fazendo um compilado de códigos da internet para chegar a essas duas macros. Mas nesse ponto eu travei.
Desde já agradeço,
Postado : 30/04/2018 3:57 pm