Hallo zusammen
Ich habe von VBA keine Ahnung. Programmiere normalserweise in Delphi. Trotzden sollte ich jetzt etwas in VBA haben. Vieleicht kann mir hier jemand helfen.
Ich hole vom Active Directory Daten ins Word und fülle damit vorhandene Felder ab. Nun sollte ich auch noch das Bild haben, weiss aber nicht, wie ich das anstellen muss. In Delphi habe ich dies schon gemacht...
Hier den Code:
Sub Felder_füllen()
strUsername = Environ("username") ' WIN Anmeldename
Dim sqls
sqls = "Select * from AD"
'Open AD Connection
Set ado = CreateObject("ADODB.Connection")
ado.Provider = "ADSDSOObject"
ado.Open
Set Rs = ado.Execute("LDAP://meineDomain>;(&(objectClass=user)(samaccountname=" & strUsername & "));ADsPath;SubTree")
Rs.MoveFirst
useradpath = Rs.Fields.Item("ADsPath").Value
Set objUser = GetObject(useradpath)
'******************************************************************************************************
' Persönliche angaben
'******************************************************************************************************
On Error Resume Next
NamVor = objUser.givenName + " " + objUser.sn
On Error Resume Next
Abt = objUser.department
On Error Resume Next
TelDir = objUser.telephoneNumber
On Error Resume Next
FaxDir = objUser.facsimileTelephonenumber
On Error Resume Next
Mail = objUser.Mail
Das mit den Feldern funktioniert, die werden gefüllt.
On Error Resume Next
ActiveDocument.FormFields("txtNamVor").Result = NamVor
ActiveDocument.FormFields("txtNamVor").Enabled = False
On Error Resume Next
ActiveDocument.FormFields("txtAbteil").Result = Abt
ActiveDocument.FormFields("txtAbteil").Enabled = False
On Error Resume Next
ActiveDocument.FormFields("txtTelDir").Result = TelDir
ActiveDocument.FormFields("txtTelDir").Enabled = False
On Error Resume Next
ActiveDocument.FormFields("txtFaxDir").Result = FaxDir
ActiveDocument.FormFields("txtFaxDir").Enabled = False
On Error Resume Next
ActiveDocument.FormFields("txtMail").Result = Mail
ActiveDocument.FormFields("txtMail").Enabled = False
Nun einmal was ich bis jetzt vom Bild habe:
On Error Resume Next
myArr = objUser.thumbnailPhoto
Früher habe ich das Bild über ein File wie folgt geladen:
' Logo erste Seite
Selection.GoTo What:=wdGoToBookmark, Name:="logo"
Selection.InlineShapes.AddPicture FileName:=LogoFile, _
LinkToFile:=False, SaveWithDocument:=True
ActiveDocument.FormFields("logo").Enabled = False
Wie muss ich das jetzt machen. Ich vermute einmal zuerst in einen Stream konvertieren, habe aber keine Ahnung...
Für eine Hilfe währe ich sehr dankbar.
Grüsse
Bani |