У меня есть код в заголовке выше, код ниже отправит PDF-файл моего листа Excel по электронной почте на указанный адрес электронной почты в ячейке. Моя проблема с этим - это имя, которое он дает файлу PDF, - это имя файла, за которым следует имя вкладки.Отправка раздела листа Excel в электронном письме в виде вложения PDF с кнопкой
Как отредактировать приведенный ниже код, чтобы он дал файлу имя, указанное в ячейке на листе?
Sub savePDFandEmailPayPlan()
Dim strPath As String, strFName As String
Dim OutApp As Object, OutMail As Object
'Create PDF of active sheet only
strPath = Environ$("temp") & "\" trailing "\"
strFName = ActiveWorkbook.Name
strFName = Left(strFName, InStrRev(strFName, ".") - 1) & "_" & ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
strPath & strFName, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.to = Range("BH4")
.CC = Range("BH6")
.BCC = ""
.Subject = Range("BH8")
.Body = Range("BH10") & vbCr
.Attachments.Add strPath & strFName
.Display
'.Send
End With
Kill strPath & strFName
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Отлично! ... Я пробовал что-то подобное раньше, но когда я это сделал, он не прикреплял файл, но я, должно быть, ошибся, потому что эта линия работает. –