VBA访问 - 打开Outlook以获取当前用户名会导致错误

时间:2014-08-18 22:36:21

标签: access-vba outlook-vba

我一直在使用以下代码一个月左右,但它已经开始抛出错误了。它从访问模块调用以获取当前用户的全名。现在,当它运行时,它会给出错误287(应用程序定义的或对象定义的错误)

Set app = CreateObject("Outlook.Application")
Set ses = app.GetNamespace("MAPI")
strFullName = ses.CurrentUser.Name  **stops at this line**
Set app = Nothing
Set ses = Nothing
strFirst = Mid(strFullName, InStr(1, strFullName, ",") + 1)
strLast = Left(strFullName, InStr(1, strFullName, ",") - 1)
fncGetIDName = strFirst & " " & strLast

如果我还没有打开Outlook,我已经发现代码只会出错。 (这就是我认为最初工作的原因)进入调试后,将手表添加到'app'或'ses'然后点击运行会使它工作,并继续工作直到db重新启动。我认为这与outlook没有完全打开或初始化或某事有关。我试图搜索这样的其他问题,但找不到任何类似的问题,任何想法都赞赏。

1 个答案:

答案 0 :(得分:1)

尝试在检索用户名之前添加ses.Logon。