2015-10-09 5 views
0

У меня есть код в заголовке выше, код ниже отправит 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 

ответ

1

strFName = Sheets("mySheet").Range("A1")

Adjust для нужного листа и имя диапазона.

+0

Отлично! ... Я пробовал что-то подобное раньше, но когда я это сделал, он не прикреплял файл, но я, должно быть, ошибся, потому что эта линия работает. –