在 Outlook 中,当您需要将所有表格从一封电子邮件中提取并复制到另一封电子邮件时,手动完成无疑是繁琐和麻烦的。 本文将与您分享一个更聪明的方法。
有时,您可能希望创建一封新电子邮件,其中包含另一封电子邮件的表格。 如果邮件中只有一张表,就很容易了。 但是,如果源邮件中有多个表,手动复制就太繁琐了。 那么,接下来,我们将介绍另一种更有效、更智能的方式。

将所有表格从一封电子邮件复制到另一封电子邮件
- 首先,您应该像往常一样访问 Outlook。
- 然后,在 Outlook 主窗口中,您可以按“Alt + F11”快捷键。
- 随后,在弹出的“Microsoft Visual Basic for Applications”窗口中,您需要打开一个未使用的模块或简单地插入一个新模块。
- 接下来,您可以将以下 VBA 代码复制到此模块中。
Sub CopyAllTablesFromOneEmailToAnother()
Dim objSourceMail As Outlook.MailItem
Dim objSourceMailDocument As Word.Document
Dim objNewMail As Outlook.MailItem
Dim objNewMailDocument As Word.Document
Dim objTable As Word.Table
'Get the source email
Select Case TypeName(Application.ActiveWindow)
Case "Explorer"
Set objSourceMail = ActiveExplorer.Selection.Item(1)
objSourceMail.Display
Case "Inspector"
Set objSourceMail = ActiveInspector.CurrentItem
End Select
Set objSourceMailDocument = objSourceMail.GetInspector.WordEditor
If objSourceMailDocument.Tables.count > 0 Then
'Create a new email
Set objNewMail = Application.CreateItem(olMailItem)
For Each objTable In objSourceMailDocument.Tables
Set objNewMailDocument = objNewMail.GetInspector.WordEditor
'Copy all tables from source email to the new email
With objNewMailDocument.Range
.Collapse wdCollapseEnd
.FormattedText = objTable.Range.FormattedText
.Collapse wdCollapseEnd
.Text = vbCrLf
End With
Next
'Close the source email
objSourceMail.Close olSave
'Display the new email
objNewMail.Display
End If
End Sub
- 之后,您可以退出当前的 VBA 编辑器窗口。
- 稍后您应该更改 Outlook 宏设置以启用所有宏。
- 此外,您最好将此宏添加到快速访问工具栏,这可以在“Outlook 选项”中完成。
- 最后你可以试试:
- 首先,打开或选择要复制其表格的电子邮件。
- 然后,点击快速访问工具栏中新添加的宏按钮。
- 宏完成运行后,将显示一封新电子邮件,其中粘贴了源电子邮件的表格。
保护 Outlook 文件免受损坏
尽管 Outlook 无论作为独立的电子邮件客户端还是私人日程管理器都可以发挥很好的作用,但它仍然无法避免错误和损坏。 因此,保护您的 Outlook 数据无疑是一项艰巨而繁琐的工作。 您必须密切注意您在 Outlook 中的日常行为,例如不要单击可疑链接、下载不安全的附件或不正确地关闭 Outlook 等。 当然,随身携带一个恒星修复工具是很有必要的,比如 DataNumen Outlook Repair 因为它可以 修复 Outlook 烦恼如风。
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 中密度纤维板修复 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com
