2015-02-06 106 views
1

我已經盡最大努力研究了此主題,並且無法找到以編程方式通過VBA切換默認簽名的方法。通過VBA設置默認簽名

我希望能夠設置一個默認的簽名,取決於一週中的哪一天(我在兩個不同的位置工作)。當Outlook啓動時,我希望它將默認簽名更改爲我指定的簽名。

我開始認爲這是不可能的。

回答

0

Outlook對象模型不提供簽名的anythyng。但是,您可以使用VBA宏在運行時編輯郵件正文。

Outlook對象模型提供了與項目機構合作方式主要有三種:

  1. Body - 代表Outlook項目的明文體的字符串。
  2. HTMLBody - 表示指定項目的HTML正文的字符串。
  3. Word editor - 正在顯示的消息的Microsoft Word文檔對象模型。 Inspector類的WordEditor屬性返回Word對象模型中的Document類的實例,您可以使用該對象設置消息正文。

您可以在Chapter 17: Working with Item Bodies中閱讀更多關於所有這些方法。我們決定選擇哪種方式來自定義郵件正文中的簽名。

P.S.如果您在Outlook中更改帳戶,簽名也會更改。您可以考慮爲Outlook中的每個帳戶分配不同的簽名。

+0

我遇到的問題是我只有1個帳戶。但需要不同的簽名,具體取決於我正在處理的位置。我有的另一個問題是我的簽名是圖像,當使用VBA時,這個展望似乎要重蹈覆轍 – SilverShotBee 2015-02-06 16:25:49

0

Outlook配置文件在配置文件數據(存儲在註冊表中)的每個帳戶的基礎上設置。您可以在OutlookSpy中看到數據 - 單擊IOlkAccountManager按鈕並雙擊該帳戶。

IOlkAccountManager只能在C++或Delphi中訪問。如果使用Redemption是一個選項(可以使用任何語言,包括VBA或.Net),它將公開RDOAccount .ReplySignature和NewMessageSignature屬性。

+0

http://vba-corner.livejournal.com/3054.html 可以從VBA編輯註冊表,所以你理論上可以用這種方式操縱簽名,但你必須非常小心。 這裏是關鍵的參考目標。 https://ifnotisnull.wordpress.com/automated-outlook-signatures-vbscript/configuring-outlook-for-the-signatures-within-the-users-registry/ – 2015-02-07 11:47:48

+0

註冊表項(配置文件部分GUID)是動態生成的爲每個帳戶。 – 2015-02-07 17:08:25

+0

很高興知道。我想他仍然可以遍歷它們並找到他所追求的那個,但對於那些不確定自己可以做什麼以及不能做什麼的人來說,這不是一項任務。 – 2015-02-07 17:14:31