2017-08-08 71 views
0

我目前在主題標題爲「Test Subject」的Outlook草稿文件夾中有一個草稿。該草案還有一個機構和一個收件人。我想創建一個VBScript文件來查找草稿,向其正文添加一些新文本,然後將其發送給收件人。VBScript打開Outlook草稿,添加到正文併發送?

我找到了這個網頁,並使用它作爲某種模板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

那麼,我提供的解決方案工作? – Gurman

回答

1

當找到匹配項時,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 
相關問題