gpt4 book ai didi

vba - Outlook 规则 将电子邮件保存为文本

转载 作者:行者123 更新时间:2023-12-03 03:29:00 26 4
gpt4 key购买 nike

我在使用脚本自动将电子邮件正文导出到文本文件时遇到问题。我管理了一个脚本,该脚本将文本保存到宏的文件中,但它不适用于我需要的规则。

我当前的代码如下:

Sub SaveAsTXT()
Dim myItem As Outlook.Inspector
Dim objItem As Object
Dim myFolder As Folder



Set myItem = Application.ActiveInspector
If Not TypeName(myItem) = "Nothing" Then

Set myNamespace = Application.GetNamespace("MAPI")
Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox)

Set objItem = myItem.CurrentItem
strname = objItem.Subject
strdate = Format(objItem.ReceivedTime, " yyyy mm dd")
objItem.SaveAs "c:\users\philip\documents\" & strname & strdate & ".txt", olTXT
End If

End Sub

抱歉,如果它看起来有点乱,我已经对其进行了无数次编辑,试图让它正常工作。

当我在打开的电子邮件中并将其作为宏运行时,这是可以正确运行的代码,但作为规则运行时它无法正常工作我尝试修改 Sub SaveAsTXT(Item as Outlook.Mailitem) 但这似乎也不起作用

所以基本上问题是如何确保代码在正常运行时选择电子邮件(其标题始终为“Rotas”,不带引号)?

信息:我使用的是 Office 2010,但我并不是一个很好的编码员。

最佳答案

其实我自己已经解决了。

我并不认为 item as Outlook.Mailitem 元素实际上是规则选择的内容。所以我应用了 item 作为对象,而不是 objItem

在下面找到成功的(并清理过的)代码:

Sub SaveAsTXT(myMail As Outlook.MailItem)

Dim objItem As Object
Dim myFolder As Folder


If Not TypeName(myitem) = "Nothing" Then

If myMail.Subject = "Rotas" Then

strname = myMail.Subject
strdate = Format(myMail.ReceivedTime, " yyyy mm dd")
myMail.SaveAs "c:\users\philip\documents\" & strname & ".txt", olTXT
End If


End If

End Sub

关于vba - Outlook 规则 将电子邮件保存为文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27569093/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com