0

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

誰かが私を助けることができれば幸いです。乾杯、ソーニャ

4

2 に答える 2

1

値を取得する前に、objUser.get("Title")nullかを確認してください。

于 2012-12-18T13:20:11.093 に答える
0

IsNothing(objUser.get( "Title"))then GetTitle = objUser.get( "Title")Else GetTitle = "" End If

于 2012-12-19T11:37:31.233 に答える