好的,在我的工作中,我们的程序/指南要求我们发送电子邮件,让其他员工知道我们是否要长时间离开办公桌。这是一个空的电子邮件正文(除了我们的签名),主题是 IN、OUT 或 10。
我已经养成了简单地删除这些电子邮件的习惯,以减少混乱。但是很难跟踪谁进出。因此,我想编写一个插件,根据这些电子邮件显示谁进出。我目前的想法是在工具栏中创建带有每个员工姓名的标签,以及他们是否进出。
任何人都可以提出一个很好的方法来做到这一点吗?
您可以为此创建一个插件(使用 VB6 或 VSTO),或使用一些 VBA 来处理传入的电子邮件并创建日历约会以阻止这些人处于 AFK 的时间。
就像是:
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
If Msg.Subject = "OUT" Then
' create calendar appointment here
End If
If Msg.Subject = "IN" Then
' delete calendar appoinment here
End If
End If
ProgramExit:
Exit Sub
ErrorHandler:
MsgBox Err.Number & " - " & Err.Description
Resume ProgramExit
End Sub
我推荐一个替代方案:使用外出功能。我意识到即使您只是在使用浴室或开会,主题行也会显示“不在办公室”,但我无法想象它比您现在所做的更糟糕。它是内置的,不需要太多努力。
ps-这不关我的事,我可能会因为问这个而被激怒,但你能告诉我们那是哪家公司,所以我知道永远不会在那里工作吗?这听起来绝对可怕。
您应该注册MS BizSpark并下载 Lync Server/Communicator。它具有内置的存在意识- 与这种奇怪的 Outlook VBA/电子邮件设置相比,您最好将精力投入其中。
作为替代方案,如果您想走 jabber 路线,您也可以免费获得 jabber 客户端。如果您不想托管自己的 jabber 服务器,jabber.org 会提供免费帐户。
这两种方法都是基于标准的方式来了解人们的可用性(存在),而无需依赖他们执行任何手动操作。