Tuhle funkci používám při zjišťování uživatele celý kód xla je tento:
Function GetEnvirons(ByVal ArgumentName As String) As String
 On Error GoTo Env_Err
 GetEnvirons = Environ(ArgumentName)
 Exit Function
Env_Err:
 GetEnvirons = ""
End Function
 
Function GetAdsProp(ByVal SearchField As String, ByVal ReturnField As String) As String
 ' Get the domain string ("dc=domain, dc=local")
 Dim strDomain As String
 strDomain = GetObject("LDAP://rootDSE").Get("defaultNamingContext")
 
 ' ADODB Connection to AD
 Dim objConnection As ADODB.Connection
 Set objConnection = CreateObject("ADODB.Connection")
 objConnection.Open "Provider=ADsDSOObject;"
 
 ' Connection
 Dim objCommand As ADODB.Command
 Set objCommand = CreateObject("ADODB.Command")
 objCommand.ActiveConnection = objConnection
 
 ' Get the logged user
 Dim SearchUser As String
 SearchUser = GetEnvirons("USERNAME")
 
 ' Search the AD recursively, starting at root of the domain
 objCommand.CommandText = _
 "<LDAP://" & strDomain & ">;(&(objectCategory=User)" & _
 "(" & SearchField & "=" & SearchUser & "));" & SearchField & "," & ReturnField & ";subtree"
 ' RecordSet
 Dim objRecordSet As ADODB.Recordset
 Set objRecordSet = objCommand.Execute
 
 
 If objRecordSet.RecordCount = 0 Then
 GetAdsProp = "not found" ' no records returned
 Else
 GetAdsProp = objRecordSet.Fields(ReturnField) ' return value
 End If
 
 ' Close connection
 objConnection.Close
 
 ' Cleanup
 Set objRecordSet = Nothing
 Set objCommand = Nothing
 Set objConnection = Nothing
End Function
použití je takto:
=GetAdsprop(“cn”; A2; “samAccountName”)
Když vytvořím šablonu, do které dám tento vzorec, tak po otevření jiným uživatelem doplní Excel ke vzorci absolutní cestu k doplňku tvůrce šablony. Všichni uživatelé mají doplněk nainstalovaný a museli by si každou položku s tímto vzorcem upravit, aby byla bez cesty a uložit jako svou šablonu. To ale ztrácí to kouzlo, kterého chci docílit. A to je, že uživatel klepne na excelovou šablonu a ve vybraných buňkách bude mít napsané informace o sobě načtené z Active directory.
citovat