2012-07-13 61 views
3

問題:使用vbscript處理傳入電子郵件。使用vbscript處理傳入電子郵件

的Outlook版本:Outlook 2000中

說明:我不能使用VBA這個,因爲我相信Outlook 2000中不會讓您從規則嚮導VBA腳本,因此我必須使用Run a Program | VBScript方法。

我所知道的:我知道如何從VBA處理電子郵件這樣

Sub Sample(MyMail As MailItem) 
    Dim strID As String, olNS As Outlook.NameSpace 
    Dim olMail As Outlook.MailItem 

    strID = MyMail.EntryID 
    Set olNS = Application.GetNamespace("MAPI") 
    Set olMail = olNS.GetItemFromID(strID) 

    '~~> Rest of the code 

    Set olMail = Nothing 
    Set olNS = Nothing 
End Sub 

我也知道如何在這已經在收件箱中的電子郵件運行VBScript。要在OL2000中運行vbscript,您必須使用Run A Program並將其指向vbs文件。 Run A Script在OL2000中不可用。我不知道:這是我需要幫助的地方。如何獲取尚未打到VBS中郵件收件箱的郵件對象。一旦我得到了對象,我就可以完成其餘的必要操作。

+0

對不起,我很困惑:'如果沒有到達收件箱,郵件對象沒有打到郵件收件箱中,就Outlook而言,它不存在。 – JimmyPena 2012-07-13 17:54:57

+0

@bonCodigo:只需把我的電子郵件在這裏http://www.siddharthrout.com/contact/ – 2013-02-27 12:33:43

回答

2

如果認爲this article是錯誤的,那麼OL2000無法從規則中運行VBA宏是正確的。

下面是我如何處理傳入的電子郵件。它確實使用VBA,但據我所知,在VBScript中沒有辦法這麼做。

Private WithEvents Items As Outlook.Items 
Private Sub Application_Startup() 
    Dim olApp As Outlook.Application 
    Dim objNS As Outlook.NameSpace 
    Set olApp = Outlook.Application 
    Set objNS = olApp.GetNamespace("MAPI") 
    Set Items = objNS.GetDefaultFolder(olFolderInbox).Items 
End Sub 
Private Sub Items_ItemAdd(ByVal item As Object) 

    On Error Goto ErrorHandler 
    Dim Msg As Outlook.MailItem 
    If TypeName(item) = "MailItem" Then 
    Set Msg = item 
    '~~> do something with the new message here 
    End If 
ProgramExit: 
    Exit Sub 
ErrorHandler: 
    MsgBox Err.Number & " - " & Err.Description 
    Resume ProgramExit 
End Sub 

該代碼應該粘貼到ThisOutlookSession模塊中,然後Outlook應該重新啓動。

+0

謝謝JP,我知道如何通過VBA做到這一點,但我的客戶特別想要vbs LOL。因此,我無法獲取未在VBS中收到郵件收件箱的郵件對象? – 2012-07-13 16:58:36

+0

「運行腳本」在Outlook 2000中不可用,因爲鏈接正確提到,但是當使用「運行程序」來發送電子郵件時,我們可以選擇運行VBScript我只用「Hello World」vbs運行良好。所以現在在VBS中,我需要編寫一個代碼來獲取郵件對象。 – 2012-07-13 17:17:09

+0

@SiddharthRout哦,男孩,客戶通過要求具體實施來污染目標。他們仍然運行Outlook 2000的事實是一個巨大的紅旗IMO。如果他們更好地瞭解,他們爲什麼不能自己實現呢?在我的答案中的鏈接顯示了我發佈的VBA如何在Outlook 2000中使用。我無法明白爲什麼VBScript在這種情況下優於VBA。 VBA是如此優越,更不用說我找不到任何使用「運行程序」功能的示例VBScript。 – JimmyPena 2012-07-13 17:53:40