Hulp bij aanpassen script dat gegevens uit AD in document plaatst.

Status
Niet open voor verdere reacties.

claujoo

Nieuwe gebruiker
Lid geworden
14 aug 2009
Berichten
1
Een vroegere collega van mij heeft een script geschreven waarin gegevens van de actieve gebruiker vanuit de Active Directory in een Word-document geplaatst worden middels bookmarks in dat Word document. Hier volgt een deel van het script:

Code:
Sub FaxVoorblad()
 Dim X
 set X = createobject("WSCRIPT.Network")
 dim U
 dim vannaam
 dim postOfficeBox
 dim telephoneNumber
 dim mobile
 dim vanfaxnummer
 dim aannaam
 dim aantav
 dim aanfaxnummer
 dim aantalpaginas
 dim datum
 dim onderwerp
 dim aanhef
 dim tekst
 dim groet
 dim functie
 dim mobiel

 U=X.UserName
 ADS_CHASE_REFERRALS_NEVER = &00
 ADS_CHASE_REFERRALS_SUBORDINATE = &20
 ADS_CHASE_REFERRALS_EXTERNAL = &40
 ADS_CHASE_REFERRALS_ALWAYS = &60
 ADS_SCOPE_BASE = 0
 ADS_SCOPE_ONELEVEL = 1
 ADS_SCOPE_SUBTREE = 2

 'Get Distinguished Name for local domain
 Set RootDSE = GetObject("LDAP://RootDSE")
 domainDN = RootDSE.Get("DefaultNamingContext")

 'Initialize ADO connection
 Set connection = CreateObject("ADODB.Connection")
 connection.Provider = "ADsDSOObject"
 connection.open
 Set command = CreateObject("ADODB.Command")
 Set command.ActiveConnection = connection
 Command.Properties("Page Size") = 1000
 Command.Properties("Timeout") = 30
 Command.Properties("searchscope") = ADS_SCOPE_SUBTREE
 Command.Properties("Chase referrals") = ADS_CHASE_REFERRALS_NEVER
 Command.Properties("Cache Results") = False
 'via SQL de juiste velden kiezen.
 command.CommandText = "SELECT sAMAccountName,title,mail,displayName,postOfficeBox,facsimileTelephoneNumber,st,telephoneNumber,mobile FROM " & "'LDAP://bedrijf-dc3/" & domainDN &"' WHERE objectcategory = 'user' AND sAMAccountName = '" & U & "'"

 Set rs = command.Execute
 Do Until rs.EOF
 vannaam = rs.fields("displayName")
 postcode = rs.fields("postOfficeBox")
 telefoon = rs.fields("telephoneNumber")
 mobiel = rs.fields("mobile")
 vanfaxnummer = rs.fields("facsimileTelephoneNumber")
 functie = rs.fields("st")
 email = rs.fields("mail")

 rs.MoveNext
 Loop

 'Word applicatie opstarten en gelijk fax.doc inlezen
 Set objword = CreateObject("Word.Application")
 objword.visible = True

 Set doc = objword.Documents.Add("\\bedrijf-dc2\bedrijf$\docalg\sjabloonfax.doc")
  
 if (vannaam <> "") then
 doc.Bookmarks("vannaam").Range.Text = vannaam
 else
 doc.Bookmarks("vannaam").Range.Text = ""
 end if
 
 if (vanfaxnummer <> "") then
 doc.Bookmarks("vanfaxnummer").Range.Text = vanfaxnummer
 else
 doc.Bookmarks("vanfaxnummer").Range.Text = ""
 end if
 
 aannaam = InputBox("Fax gericht aan?")
 doc.Bookmarks("aannaam").Range.Text = aannaam
 
 aantav = InputBox("Ter attentie van?")
 doc.Bookmarks("aantav").Range.Text = aantav

 aanfaxnummer = InputBox("naar welk faxnummer?")
 doc.Bookmarks("aanfaxnummer").Range.Text = aanfaxnummer
 
 aantalpaginas = InputBox("Hoeveel pagina's")
 doc.Bookmarks("aantalpaginas").Range.Text = aantalpaginas
 
 doc.Bookmarks("datum").Range.Text = date()
 
 onderwerp = InputBox("onderwerp?")
 doc.Bookmarks("onderwerp").Range.Text = onderwerp
 
 aanhef = InputBox("aanhef?")
 doc.Bookmarks("aanhef").Range.Text = aanhef
 
 tekst = InputBox("begeleidende tekst?")
 doc.Bookmarks("tekst").Range.Text = tekst
 
 groet = InputBox("groet?")
 doc.Bookmarks("groet").Range.Text = groet
 
 If (vannaam <> "") then
 doc.Bookmarks("naamtwee").Range.Text = vannaam
 else
 doc.Bookmarks("naamtwee").Range.Text = ""
 end if
 
 If (functie <> "") then
 doc.Bookmarks("functie").Range.Text = functie
 else
 doc.Bookmarks("functie").Range.Text = ""
 end if
 
 If (telefoon <> "") then
 doc.Bookmarks("telefoonzaak").Range.Text = telefoon
 else
 doc.Bookmarks("telefoonzaak").Range.Text = ""
 end if
 
 If (mobiel <> "") then
 doc.Bookmarks("mobiel").Range.Text = mobiel
 else
 doc.Bookmarks("mobiel").Range.Text = ""
 end if
 
end Sub

In Word-documenten werkt het prima. Echter ... sinds kort gebruiken we ook een Excel-document waar gegevens uit de AD in tevoorschijn moeten komen. Mijn kennis van programmeren is niet echt heel groot, ik heb al diverse mogelijkheden geprobeerd, helaas nog zonder het gewenste resultaat. Is er iemand die mij er mee kan helpen?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan