Outlook Macro&#s;获取用户姓名缩写

时间:2015-01-16 14:25:55

标签: outlook contactitem

我正在开发一个非常非常简单的项目,它在运行宏时在选定的消息上设置后续标记。

到目前为止,我创建了这个非常好用,但是我希望通过替换" YA"的手动输入来改进它。首字母并将默认配置文件用户首字母作为首字母。

我找到了contactitem对象,但我不知道如何从中获取首字母将其作为一个.FlagRequest

对此有何想法?

这是我目前的代码:( GetCurrentItem只返回所选的电子邮件)

Public Sub SetCustomFlagNormal()

Dim objMsg As Object
Set objMsg = GetCurrentItem()


With objMsg
    .MarkAsTask olMarkThisWeek
    .TaskDueDate = Now
    .FlagRequest = "YA"
    .ReminderSet = True
    .ReminderTime = Now + 2
    .Save
End With

Set objMsg = Nothing
End Sub

2 个答案:

答案 0 :(得分:0)

Outlook对象模型为Namespace和Account类提供CurrentUser属性。 Namespace类的属性将当前登录用户的显示名称作为Recipient对象返回。

Sub DisplayCurrentUser() Dim myNamespace As Outlook.NameSpace Set myNameSpace = Application.GetNameSpace("MAPI") MsgBox myNameSpace.CurrentUser End Sub

Account类的属性返回一个Recipient对象,该对象表示该帐户的当前用户标识。请参阅Recipient类的Name属性。

答案 1 :(得分:0)

我终于找到了办法。

访问多个网站后,我能够确定Outlook没有提供获取用户首字母的方法,并且必须调用Word才能获得首字母缩写 办公室在所有办公室应用程序中使用相同的首字母。

我在这个网站上得到了回复。

http://blogs.technet.com/b/heyscriptingguy/archive/2008/03/18/how-can-i-retrieve-the-user-name-and-user-initials-from-microsoft-powerpoint.aspx

希望有所帮助