Visual Basic - 当AD中的属性为空时,如何继续脚本

时间:2012-12-18 13:13:31

标签: vba ldap

我创建了一个宏,它将从LDAP中提取信息并通过Word文档中的书签插入。 这非常有效,除非属性为空。因此,在Word文档中,标题是在用户名之前插入的,但是当用户没有标题时,脚本会停止并给出错误消息。 如果AD中的属性为空,如何让脚本跳过该功能?

这是部分脚本,当用户没有标题时(在结尾处)停止:

Sub AutoNew()
 With ActiveDocument.Bookmarks("MyTitle").Range
 .InsertBefore GetTitle
 End With
 With ActiveDocument.Bookmarks("MygivenName").Range
 .InsertBefore GetgivenName
 End With
 With ActiveDocument.Bookmarks("Mysn").Range
 .InsertBefore Getsn
 End With
 With ActiveDocument.Bookmarks("MytelephoneNumber").Range
 .InsertBefore GettelephoneNumber
 End With
 With ActiveDocument.Bookmarks("Mymail").Range
 .InsertBefore Getmail
 End With

End Sub

Function GetTitle() As String
Dim objSysinfo As Object
Dim objUser As Object

Dim strUser As String 'Distinguished Name

Set objSysinfo = CreateObject("ADSystemInfo")
strUser = objSysinfo.UserName
Set objUser = GetObject("LDAP://" & strUser)

GetTitle = objUser.get("Title")

End Function

如果有人能帮助我,会很高兴。 干杯, 宋佳

2 个答案:

答案 0 :(得分:1)

在获取值之前,请检查objUser.get("Title") null 为空

答案 1 :(得分:0)

如果是IsNothing(objUser.get(“Title”))那么  GetTitle = objUser.get(“Title”) 其他  GetTitle =“” 结束如果