在許多時候,Mail System常變成辦公室裡的第二戰場,是放冷箭、扣帽子、灑狗血的好地方,而Reply To All(回覆給所有人)是好戰分子常用的一招。例如: 你寫了一封信詢問大家對公司廁所衛生紙採申請配給制的意見,初衷只是要蒐集成員工意見,呈報給總經理Mr. Iron Cock以塑造公司很民主的假象。但我保證會有收信者使出"回信給所有人"的賤招,把他"不理性"的個人意見訴諸輿論,這下子全公司都知道某某人真的很關心令堂了。事後興師問罪時,發信人多會辯稱他只是想要Reply,"不小心"按成Reply To All。當然,這是比較極端的例子,在大部分的情境下,狀況不會這麼糟,頂多是數百K的團購調查表隨著Reply To All又再一次寄給全公司五百名員工,還讓所有人知道某某某一口氣買了五十桶空白光碟,不是終極宅男就是色情狂。

如上圖,如果我們讓Outlook在讀信時,直接没收"轉寄"及"全部回覆"兩顆按鈕,雖然只是防君子不防小人的步數,但至少從此就不會有人推說是不小心按錯。Scott Hanselman在他的Blog上露了一手,只要寫幾行巨集,就可以用一個Click取消該封郵件轉寄及全部回覆的功能。這個做法並不是在郵件中加入巨集,而是透過註記郵件的屬性停用不必要的功能,測試結果,在Outlook 2003/2007上都管用。Scott的文章圖文並茂,把步驟寫得超級清楚,在此就不再介紹(@2007-11-09謝謝leem大大指正,應為重複,而不是重),請大家直接看Scott的文章。

唯一要注意的是,停用按鈕時,要正確指定按鈕的名稱,中英文版本不同,所以我做了點修改,讓它中英文相容,使用簡體字的朋友,只要照著Outlook顯示的文字修改其中的字眼即可。

Sub NoReplyAll()
    Dim sActName As String
    sActName = ActiveInspector.CurrentItem.Actions(1).Name
    If sActName = "回覆" Then 'If Traditional Chinese
        ActiveInspector.CurrentItem.Actions("全部回覆").Enabled = False
        ActiveInspector.CurrentItem.Actions("轉寄").Enabled = False
    Else 'English
        ActiveInspector.CurrentItem.Actions("Reply to All").Enabled = False
        ActiveInspector.CurrentItem.Actions("Forward").Enabled = False
    End If
End Sub

Comments

# by leem

您好,最近來到了您的部落格,有許多實用的文章,謝謝您的分享!另外我在這要跟您提1個跟文章內容沒有關聯的問題,就是...您打錯字囉,文中「重覆介紹」的「覆」應為「複」才對,現在看到很多人都誤用「覆」字,而您的文章還蠻多人閱讀的,想說在此文您提一下,也請您繼續分享許多的好文章哦~謝謝!

# by Jeffrey

To leem, 謝謝指正! 我蠻重視國文用字的(謎之聲: 其實已經咬文嚼字到有點走火入魔了吧?),但這個字我真的搞混好一陣子,謝謝您的提醒。

# by Randy002

我的理解:群发Mail相当于在会议上发言,如果有人Relay to All,那是他也想发言,凭什么把cc, bcc想象得这么复杂?

# by Jeffrey

To Randy002, 同意,Reply to All, CC, BCC都有其適用性及必要性。 在某些情境下(例如: 判定99%的收信人都沒必要Reply To All),我就不希望有人"誤按"而產生不必要的傳輸,把信寄給不必要的收信人(也許上千人呢!),浪費了頻寬,也耗費無關收信人處理信件的時間。 如果有人收到了這封信,真的想Reply to All(例如: 那1%的機率),只要按下Reply,再把所有收信人都Copy過來,一樣可以達成同樣的效果,沒有任何禁止的意味。此手法一般只用少數特定的信件上,並非全部的信件,也沒有任何強制禁止性,多了這個選擇,對某些人來說還是挺實用的。

# by Barry

那想請問一下各位高手,因的確是可把reply to all或者forward把移除,但只能每次寄信需按巨集執行過一次, 所以想請問一下,有辦法每次寄信不用按任何設定,皆套用巨集的設定嗎?再麻煩各位高手告知一聲小弟我,謝謝~~

Post a comment