-------------------
Les 'photos doivent être moins que 10kb
Const ForReading = 1
InDir = « C:\Temp\StaffPhotos »
Placer le fso = le CreateObject (« Scripting.FileSystemObject »)
placer l'oIADS = le GetObject (« LDAP : //RootDSE »)
strDefaultNC = oIADS.Get (« defaultnamingcontext »)
Placer le theConn = le CreateObject (« ADODB.Connection »)
theConn.Provider = « ADsDSOObject »
theConn.Open « fournisseur d'annonces »
Placer le theCmd = le CreateObject (« ADODB.Command »)
theCmd.ActiveConnection = theConn
Placer l'objRecordSet = le CreateObject (« ADODB.Recordset »)
Pour chacun tFile dans fso.GetFolder (InDir). Dossiers
tName = tFile.Name
'Obtient aux personnes le nom à partir du dossier en dépouillant l'extention.
tName = parti (tName, InStrRev (tName, « . ») - 1)
'Vous pouvez devoir tordre ce peu selon vos conventions de nomination.
strQuery = « ; » et _
« (et (objectClass=person) (name= » et tName et ")) ; nom, adspath ; sous-arbre "
theCmd.CommandText = strQuery
Placer l'objRS = le theCmd.Execute
Si objRS.RecordCount = 0 puis
MsgBox « ne peut pas trouver pour expliquer » et tName
Autrement
Placer l'objUser = le GetObject (objRS (le « adspath »))
ObjUser.Put « thumbnailPhoto », ReadByteArray (tFile.Path)
ObjUser.SetInfo
Finir si
Après
'Volé de http://www.ericphelps.com/q193998/index.htm
Fonction ReadByteArray (strFileName)
Const = 1 adTypeBinary
Faible casier
Placer le casier = le CreateObject (« ADODB.Stream »)
casier. Type = adTypeBinary
casier. Ouvert
strFileName de bin.LoadFromFile
ReadByteArray = casier. Lu
Fonction de fin
|