2013-07-10 65 views
0

我在這裏提供有關腳本編寫Outlook的問題。好了,讓我先開始我想完成什麼從Outlook中獲取信息的VBScript(沒有任何AD!)

  • 我想編寫一個腳本,它與Outlook如下:
    1. 獲取所有名稱(用戶)寫在文件>信息>帳戶設置>代理訪問,包括權限...
    2. 得到所有數據文件下書面文件>信息>帳戶設置>帳戶設置>數據文件
    3. 獲取當前使用的簽名下首頁>新建電子郵件>簽名,並有下新消息的選擇:回覆/轉發:
    4. 最後,讓所有其他郵箱下文件>資訊>帳戶設置>數據文件>設置...>高級>郵箱

什麼是我的技術水平? 我有點不小心得到了這個任務,所以關於Windows/Office體系結構的理解並不是很高。我的背景是R/Matlab,Maple和一些Mathematica以及最近的VBA。我剛剛開始使用VBScripting;)

我到目前爲止有什麼? 幾乎沒有什麼,但我不要求太多。我不需要全面解決問題。充滿創意將幫助我圍繞您的答案構建代碼,希望!到目前爲止,我已經成功地恢復給* .psts,像這樣:

Set oOutlook = CreateObject("Outlook.Application") 
Set oMAPI = oOutlook.GetNameSpace("MAPI") 
WScript.Sleep 3000 

然後......

' Restore *.psts 
For Each oFile In oFolder.Files 

    If UCase(oFSO.GetExtensionName(oFile.Name)) = "PST" Then 

     oMAPI.AddStore sPath & "\" & oFile.Name 
     WScript.Sleep 500 
    End If 
Next 

但讓我退一步一點。知道我是這個:)的新手非常重要,但是我可以構建所有的代碼。從經驗寫作,我想我會很樂意用一行代碼爲每個問題(如果可能的話),如:上述

???.Delegates.Names.Item(integer) 
oMAPI.GetStore ... 
???.MailItem.Signature.NewMessage.ToString() ' or whatever 
oMAPI.AdditionalMailbox.Item(integer) 

的四個例子是純粹的猜測,但我真的找不到任何在互聯網上可用的東西。如果大多數方法都會返回一個字符串,這將會很酷,這樣我就可以將它們記錄到文本文件中。

無論您使用的是什麼Outlook版本,我都很樂意回答。我在互聯網上搜索了兩天,從字面上看,除了上面的短代碼之外別無其他。我需要一些更好的起點繼續。而且,所有事情都發生在本地。我不搜索任何廣告解決方案(如創建奇特的自動AD簽名...)。

非常感謝你提前:)

回答

2
  1. 這些信息只能通過Exchange Web服務(EWS)API訪問。
  2. 使用Namespace.Stores收集
  3. 您只能通過文件系統
  4. 同2訪問這些信息,但你需要檢查Store.ExchangeStoreType屬性爲olAdditionalExchangeMailbox(= 4)。
+0

好的,我剛剛檢查了您的個人資料。 15年的經驗:)謝謝你,先生...我現在得到了2-3分,我將嘗試點1.我希望提出一個沒有任何... API的解決方案。再次感謝 – nivoe

+0

好吧,如果沒有任何API,它似乎不工作。 – nivoe

相關問題