Excel 通过电子邮件发送活动工作簿的压缩版本
我想使用Outlook通过电子邮件发送工作簿的压缩副本。 如何扩展下面的宏,使其附加压缩工作簿Excel 通过电子邮件发送活动工作簿的压缩版本,excel,vba,Excel,Vba,我想使用Outlook通过电子邮件发送工作簿的压缩副本。 如何扩展下面的宏,使其附加压缩工作簿 Sub EmailWorkbook() Dim OL As Object, EmailItem As Object Dim Wb As Workbook Application.ScreenUpdating = False Set OL = CreateObject("Outlook.Application") Set EmailItem = OL.CreateItem(olMailItem) S
Sub EmailWorkbook()
Dim OL As Object, EmailItem As Object
Dim Wb As Workbook
Application.ScreenUpdating = False
Set OL = CreateObject("Outlook.Application")
Set EmailItem = OL.CreateItem(olMailItem)
Set Wb = ActiveWorkbook
Wb.Save
With EmailItem
.Subject = "COB" & Format(Range("yesterday"), "ddMMMyy")
'.Body = ""
.To = "somewhere@maildomain.com"
'.Cc = ""
'.Bcc = ""
.Importance = olImportanceNormal
.Attachments.Add Wb.FullName
.Display
End With
Application.ScreenUpdating = True
Set Wb = Nothing
Set OL = Nothing
End Sub
下载并安装,然后修改现有代码,如下所示:
Sub EmailWorkbook()
Dim OL As Object, EmailItem As Object
Dim xlWbName As String, xlWbPath As String, ext As String
'Set xlWb file name and path
xlWbName = "ENTER FILE NAME HERE"
xlWbPath = "C:\ENTER\FILE\FOLDER\HERE"
ext = "ENTER FILE EXTENSION HERE"
Set OL = CreateObject("Outlook.Application")
Set EmailItem = OL.CreateItem(olMailItem)
'Make sure file xlWbName.ext is closed or close it before running the next line
Shell "C:\Program Files\7-Zip\7z.exe" & " a -tzip """ & xlWbPath & "\" & xlWbName & ".zip"" """ & xlWbPath & "\" & xlWbName & ext & """"
With EmailItem
.Subject = "Enter subject here"
'.Body = ""
.To = "somewhere@maildomain.com"
'.Cc = ""
'.Bcc = ""
.Importance = olImportanceNormal
.Attachments.Add xlWbPath & "\" & xlWbName & ".zip"
.Display
End With
Set OL = Nothing
End Sub
我测试了上面的代码,它成功地附加了压缩文件。Ron在他的站点中介绍了它。查看此链接如果您感兴趣,还有另一种使用Winzip的方法吗?谢谢您从该链接获得了它。干杯。Gr8:那为什么不粘贴你得到的代码并接受它作为答案呢?为了让您知道您可以回答自己的问题,我们甚至强烈建议您查看此链接并接受它。它将帮助其他有同样问题的人:
Sub EmailWorkbook()
Dim OL As Object, EmailItem As Object
Dim xlWbName As String, xlWbPath As String, ext As String
'Set xlWb file name and path
xlWbName = "ENTER FILE NAME HERE"
xlWbPath = "C:\ENTER\FILE\FOLDER\HERE"
ext = "ENTER FILE EXTENSION HERE"
Set OL = CreateObject("Outlook.Application")
Set EmailItem = OL.CreateItem(olMailItem)
'Make sure file xlWbName.ext is closed or close it before running the next line
Shell "C:\Program Files\7-Zip\7z.exe" & " a -tzip """ & xlWbPath & "\" & xlWbName & ".zip"" """ & xlWbPath & "\" & xlWbName & ext & """"
With EmailItem
.Subject = "Enter subject here"
'.Body = ""
.To = "somewhere@maildomain.com"
'.Cc = ""
'.Bcc = ""
.Importance = olImportanceNormal
.Attachments.Add xlWbPath & "\" & xlWbName & ".zip"
.Display
End With
Set OL = Nothing
End Sub