Outlook 2013规则将电子邮件正文复制到剪贴板
问题描述:
使用电子邮件规则触发VBA脚本,是否可以将电子邮件正文发送到剪贴板?我发现这个method,但它似乎没有工作。Outlook 2013规则将电子邮件正文复制到剪贴板
Sub SaveToClipboard(Item As Outlook.MailItem)
Dim Explorer As Outlook.Explorer
Dim oitem As Outlook.MailItem
Dim oData As MSForms.DataObject
Set Explorer = Application.ActiveExplorer
If Explorer.Selection.Count Then
Set CurrentItem = Explorer.Selection(1)
Set oitem = CurrentItem
oData = oitem.Body
oData.PutInClipboard
'Using this to test the output
MsgBox oData
End If
End Sub
接下来,我将如何搜索以“Info:”开头的电子邮件正文中的一行并仅将该行复制到剪贴板?
答
您错过了该网站上示例中描述的重要部分。
以及使用传入的mailitem(itm作为mailItem)。
Option Explicit
Private Sub SaveToClipboard_test()
Dim curritem As Object
Set curritem = ActiveExplorer.Selection(1)
If TypeOf curritem Is mailItem Then SaveToClipboard curritem
ExitRoutine:
Set curritem = Nothing
End Sub
Sub SaveToClipboard(itm As mailItem)
Dim oData As MSForms.DataObject
Dim strPaste As Variant
Set oData = New MSForms.DataObject
oData.SetText itm.body
oData.PutInClipboard
oData.GetFromClipboard
strPaste = oData.GetText
strPaste = Left(strPaste, 1024)
MsgBox strPaste
ExitRoutine:
Set oData = Nothing
End Sub
每个线程只有一个问题。首先搜索诸如“vba结构化文本”之类的东西,并在您编写一些代码后,在必要时开始一个新问题。 – niton