我目前在Outlook草稿文件夹中有一个草稿,标题为"测试对象"。草案还有一个机构和一个接收者。我想创建一个VBScript文件,找到该草稿,向其主体添加一些新文本,然后将其发送给收件人。
我找到了此页面并将其用作模板http://www.techrepublic.com/forums/discussions/send-all-mails-from-my-drafts-folder-at-one-go-in-outlook-2003/
的一种模式这是我到目前为止所得到的
Public Sub SendDrafts()
Dim lDraftItem
Dim myOutlook
Dim myNameSpace
Dim myFolders
Dim myDraftsFolder
'Setup Outlook
Set myOutlook = CreateObject("Outlook.Application")
Set myNameSpace = myOutlook.GetNamespace("MAPI")
Set myFolders = myNameSpace.Folders
'Set up Drafts folder
Set myDraftsFolder = myFolders("Personal Folders").Folders("Drafts")
'iterate through drafts
For lDraftItem = myDraftsFolder.Items.Count To 1 Step -1
'find draft that matches designated subject, in this case 'Test Subject'
If StrComp(myDraftsFolder.Items.Item(lDraftItem).Subject, "Test Subject") Then
'Add new text to draft
myDraftsFolder.Items.Item(lDraftItem).htmlBody = myDraftsFolder.Items.Item(lDraftItem).htmlBody & "</b><br><br><br> New Text here."
'Send Item
myDraftsFolder.Items.Item(lDraftItem).Send
End If
Next
End sub
无论出于何种原因,当我运行脚本时,我什么也得不到。草稿保留在我的草稿文件夹中,但我也没有收到任何错误消息。我对VBScript很新,所以任何帮助都会受到赞赏。感谢。
答案 0 :(得分:2)
当找到匹配时,strcomp将返回0,这意味着为false,因此它不会进入If条件,因为返回false。您需要修改If条件,如下所示。
If StrComp(myDraftsFolder.Items.Item(lDraftItem).Subject, "Test Subject")=0 Then
myDraftsFolder.Items.Item(lDraftItem).htmlBody = myDraftsFolder.Items.Item(lDraftItem).htmlBody & "</b><br><br><br> New Text here."
myDraftsFolder.Items.Item(lDraftItem).Send
Exit For
End If