直接通过电子邮件将PDF表格作为PDF发送

我的目标是能够点击一个button,并为我的Excel工作表PDF格式的电子表格的范围,并通过电子邮件发送到一个电子邮件地址是在工作表中的单元格之一。 对于初学者,我有代码可以把一个单元格的范围转换成PDF文件,并允许我保存它:

Option Explicit Sub savePDF() Dim wSheet As Worksheet Dim vFile As Variant Dim sFile As String Set wSheet = ActiveSheet sFile = Replace(Replace(Range("D11"), " ", ""), ".", "_") _ & "_" _ & Range("H11") _ & ".pdf" sFile = ThisWorkbook.Path & "\" & sFile With Excel.Application.FileDialog(msoFileDialogSaveAs) Dim i As Integer For i = 1 To .Filters.Count If InStr(.Filters(i).Extensions, "pdf") <> 0 Then Exit For Next i .FilterIndex = i .InitialFileName = sFile .Show If .SelectedItems.Count > 0 Then vFile = .SelectedItems.Item(.SelectedItems.Count) End With If vFile <> "False" Then wSheet.Range("A1:BF47").ExportAsFixedFormat _ Type:=xlTypePDF, _ Filename:=vFile, _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=False End If End Sub 

任何人都可以操纵这个代码(连接到一个button),所以它会通过电子邮件发送一个电子邮件地址,这是在一个特定的单元格,当点击button,并作为额外的奖金,电子邮件的主题从电子表格太?

我有一个解决scheme,下面。 通过进入页面付款设置我的打印区域,然后设置打印区域后,我成功地将Excel表格作为PDF文件发送给我:

 Sub savePDFandEmail() Dim strPath As String, strFName As String Dim OutApp As Object, OutMail As Object 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("CB4") .CC = Range("CB6") .BCC = "" .Subject = Range("CB8") .Body = Range("BW11") & vbCr .Attachments.Add strPath & strFName '.Display 'Uncomment Display and comment .send to bring up an email window before sending .Send 'Keep this the same if you want to send the email address out on click of the button End With Kill strPath & strFName On Error GoTo 0 Set OutMail = Nothing Set OutApp = Nothing End Sub 

我还需要在我的工作表中添加一些电子邮件工具,如下所示:

电子表格内的电子邮件工具

点击button现在将发送附带PDF文件的电子邮件。