Excel VBA将工作表复制到新的工作簿并通过电子邮件发送到Outlook中的新工作簿

我有一段代码,将当前文件附加到发给我们销售代表的电子邮件中,等于销售代表电子邮件。 和我们公司的订单电子邮件。

而不是将整个文档附加到此电子邮件,我想从文档复制制表符,并将其粘贴到一个新的文档。 然后只发送新文档(从而减less文件大小,并希望将其从.xlsm附件更改为.xls附件)。

If ShapesAfter > ShapesBefore Then MsgBox "Please Repair Invalid Equipment Selection", , "Invalid Selections _ Have Been Made" ElseIf ShapesAfter = ShapesBefore Then Sheets("inputs").Select Dim y As String y = Cells(61, 5).Value Sheets("config").Select Application.Dialogs(xlDialogSendMail).Show "" & y & "; " & "orders@domainname.com" 

上面的例子是返回运行时“9”错误。 这里是更正的代码:

  Dim wb As Workbook Set wb = Workbooks.Add ThisWorkbook.Sheets("inputs").Copy After:=wb.Sheets(1) ThisWorkbook.Sheets("config").Copy After:=wb.Sheets(1) wb.Application.Dialogs(xlDialogSendMail).Show "" & y & "; " & "orders@domainname.com" Set wb = Nothing 

“的ThisWorkbook。” 必须在那里添加。

创build一个新的工作簿对象并将其复制到它。 下面的例子。

  Dim wb As Workbook Set wb = Workbooks.Add Sheets("inputs").Copy After:=wb.Sheets(1) Sheets("config").Copy After:=wb.Sheets(1) wb.Application.Dialogs(xlDialogSendMail).Show "" & y & "; " & "orders@domainname.com" Set wb = Nothing