AD-Objekt einer Variablen zuweisen?

09/02/2010 - 14:47 von Christof Zottmann | Report spam
Hallo,

ich habe hier ein Script aus dem Netz, welches AD-Daten ausließt und in
Excel eintràgt und wollte das etwas anpassen.

Erst sah das ganze so aus (Codeschnipsel):

'Überschriften:
objExcel.ActiveSheet.Cells(1, 9).Value = "Telefon"
objExcel.ActiveSheet.Cells(1, 10).Value = "Mobil"
objExcel.ActiveSheet.Cells(1, 11).Value = "E-Mail"

set objuser = getObject ("LDAP://" &
objRecordset.Fields("distinguishedName").value)

objExcel.ActiveSheet.Cells(x, 9).Value = objuser.telephoneNumber
objExcel.ActiveSheet.Cells(x, 10).Value = objuser.mobile
objExcel.ActiveSheet.Cells(x, 11).Value = objuser.mail


Ich wollte das ganze etwas übersichtlicher haben und habe es so umgebaut:

F=F+1 : Titel(F) = "Mobil" : Feld(F) = objuser.mobile
F=F+1 : Titel(F) = "Telefon" : Feld(F) = objuser.telephoneNumber
F=F+1 : Titel(F) = "E-Mail" : Feld(F) = objuser.mail

'Bei der Überschrift geht das natürlich ohne Probleme...
for t = LBound(Titel) to UBound(Titel)
objExcel.ActiveSheet.Cells(1, 8 + t).Value = Titel(t)
next

'...aber nicht mehr beim AD-Objekt:
for t = LBound(Titel) to UBound(Feld)
objExcel.ActiveSheet.Cells(x, 8 + t).Value = Feld(t)
next


Warum es nicht geht, ist mir auch klar, aber mir fàllt keine Lösung ein.
Ich bin in VBS nicht so fit wie in Powerbuilder, dort kann man nàmlich
eine Variable vom jeweiligen Typ definieren und diese Variable verhàlt
sich dann auch genau so wie das Objekt. Geht das auch in VB?

Viele Grüße
 

Lesen sie die antworten

#1 Thomas Gahler
23/02/2010 - 07:09 | Warnen spam
Hallo Christof

Habe dein Posting schon mehrmals angeschaut, jetzt habe ich es wohl
(teilweise) durchschaut...

Der Code ist mit zusàtzliche Zeilen versehen, aber nihct getestet, sollte
eher als Hinweis für dich sein.


Type TDaten
Mobile
Telefon
EMail
end Type
Dim Feld() as TDaten


F=F+1 : Titel(F) = "Mobil" : Feld(F).Mobile = objuser.mobile
F=F+1 : Titel(F) = "Telefon" : Feld(F).Telefon = objuser.telephoneNumber
F=F+1 : Titel(F) = "E-Mail" : Feld(F).EMail = objuser.mail

'Bei der Überschrift geht das natürlich ohne Probleme...
for t = LBound(Titel) to UBound(Titel)
objExcel.ActiveSheet.Cells(1, 8 + t).Value = Titel(t)
next

'...aber nicht mehr beim AD-Objekt:
for t = LBound(Titel) to UBound(Feld)
objExcel.ActiveSheet.Cells(x, 1 + t).Value = Feld(t).Mobile
objExcel.ActiveSheet.Cells(x, 2 + t).Value = Feld(t).Telefon
objExcel.ActiveSheet.Cells(x, 3 + t).Value = Feld(t).EMail
next



Und wo dein x her kommt weiss ich auch nicht.





Thomas Gahler
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows XP (SP3), Office XP (SP3)

Ähnliche fragen