Excelmacros发送电子邮件

我有一个报告,我想通过Excel发送。 它将包括收件人,主题和正文中的信息。 实际上它可以复制有问题的单元格。 我到目前为止所做的是创build一个button,并用此代码分配一个macros:

Private Sub CommandButton1_Click() Application.Dialogs(xlDialogSendMail).Show arg1:=Sheets("Sheet1").Range("E3"), _ arg2:=Sheets("Sheet1").Range("E7") End Sub 

问题是这个命令作为附件发送工作簿。

有人可以帮助我的代码,这将允许我这样做。

太感谢了!

干杯

设置对“Microsoft Outlook xx.x对象库”的引用,您可以使用此代码作为构build或发送电子邮件的一个示例:

就这样它将只显示电子邮件而不发送。 您可以注释掉.display行并取消注释.send以发送它。

 Sub EmailFromExcel() On Error GoTo PROC_EXIT Dim OL As New Outlook.Application Dim olMail As Outlook.MailItem Set olMail = OL.CreateItem(olMailItem) Dim SrcSheet As Excel.Worksheet Set SrcSheet = Sheets("Sheet1") With olMail .To = SrcSheet.Range("E3").Text .Subject = SrcSheet.Range("E7").Text .Body = SrcSheet.Range("E12").Text .Display vbModal '.Send End With PROC_EXIT: On Error GoTo 0 OL.Quit Set OL = Nothing End Sub 

添加对Outlook COM库的引用; 那么您可以复制/粘贴值并将所需的格式设置为新表格,然后将其复制到Outlook邮件中。