MS Outlook更改所有草稿的主题行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MS Outlook更改所有草稿的主题行相关的知识,希望对你有一定的参考价值。
我需要在草稿中更改1000个电子邮件的主题行。
这是我正在使用的代码,但它没有改变主题。有人可以让我知道我错过了什么。
Sub Drafts_Send()
Dim objDrafts As Outlook.Items
Dim objDraft As Object
Dim strPrompt As String
Dim nResponse As Integer
Dim i As Long
Set objDrafts = Outlook.Application.Session.GetDefaultFolder(olFolderDrafts).Items
For i = objDrafts.Count To 1 Step -1
If objDrafts.Item(i).Subject = "Please Thank You" Then
objDrafts.Item(i).Subject = "Please & Thank You"
objDrafts.Item(i).Save
End If
Next i
Set objDrafts = Nothing
End Sub
答案
我的猜测是默认的草稿文件夹不是包含您要更新的草稿的文件夹。
运行此宏:
Sub DsplStoreContainingfDefaultDrafts()
Dim NS As Outlook.NameSpace
Dim DefaultInboxFldr As MAPIFolder
Set NS = CreateObject("Outlook.Application").GetNamespace("MAPI")
Set DefaultInboxFldr = NS.GetDefaultFolder(olFolderDrafts)
Debug.Print "Default Drafts folder in """ & DefaultInboxFldr.Parent.Name & """"
End Sub
在我的系统上输出:
Default Drafts folder in "Outlook Data File"
“Outlook数据文件”是安装附带的默认存储,但它仅用于与电子邮件帐户无关的信息。 Outlook为我的每个电子邮件帐户创建了一个单独的商店,其名称为JohnSmith@AcmeIsp.com和JohnSmith@gmail.com。每个商店都有自己的草稿文件夹,草稿在我将发送电子邮件的帐户的草稿文件夹中。
转到包含您要更新的草稿的文件夹。它是在我的宏标识的商店内吗?如果不继续阅读。
复杂的是,在我的系统上,Drafts是我常规ISP帐户的商店中的顶级文件夹,但是我的gmail帐户的文件夹中的第二级文件夹。
你需要更换:
Set objDrafts = Outlook.Application.Session.GetDefaultFolder(olFolderDrafts).Items
Outlook.Application.
是多余的,因为你在Outlook中运行它。
如果您的商店就像我的常规ISP帐户,您将需要以下内容:
Set objDrafts = Session.Folders("JohnSmith@AcmeIsp.com").Folders("Drafts").Items
如果您的商店就像我的Gmail帐户,您将需要以下内容:
Set objDrafts = Session.Folders("JohnSmith@gmail.com").Folders("[Gmail]").Folders("Drafts").Items
以上是关于MS Outlook更改所有草稿的主题行的主要内容,如果未能解决你的问题,请参考以下文章
如何将Outlook发送的电子邮件唯一匹配到其对应的Outlook草稿(MAPI MailItem)