|
| Autor |
Nachricht |
KaktusJack Newbie

Anmeldedatum: 10.12.2010 Beiträge: 1
|
Einsteiger braucht Hilfe bei Application.OnTime
Verfasst am: 10.12.2010, 09:50 |
|
|
Hallo,
ich bin neu hier und brauch mal eure Hilfe!
Ich bin Einsteiger und habe mir aus Schnipseln aus dem Netz mal nen Programm geschrieben womit ich Gruppenmitlieder einer Sicherheitsgruppe aus einer Active Directory auslesen kann.
Das ganze wird in Excel ausgegeben und per Click auf einer Zelle mit Inhalt Gruppenname wird in einer anderen Zelle die Mitglieder ausgegeben.
Das funktioniert auch alles super! Das einzige Problem ist die Application.OnTime.
Sobald ich das ExcelArbeitsblatt schließe, öffnet es sich direct wieder, obwohl ich meines (relativ bescheidenen) Wissens die App beende. Hab im I-Net schon viel herum gesucht, aber nur diese Lösung gefunden.
Anbei mal der Code (der komplett in einem Modul verfasst ist)
| Code: |
Dim r As Range
Sheets(1).Activate
Range("a2:a1000").Clear
Set Groups = GetObject("LDAP://OU=Sicherheitsgruppen,OU=firma,DC=domäne,DC=local")
Groups.Group = Array("group")
Set r = Range("a2")
For Each objGroup In Groups
r = objGroup.Name
r = " " & Right(r, Len(r) - 3)
Set r = r.Offset(1)
Next
Sheets(2).Activate
End
End Sub
Public Sub Ldap_User()
On Error Resume Next
Dim A As Range
Set A = Range("c1")
Range("c2:c1000").Clear
strLDAP = "LDAP://cn=" & A & ",OU=Sicherheitsgruppen,OU=firma,DC=domäne,DC=local"
Set Group = GetObject(strLDAP)
Set A = Range("c2")
For Each Treffer In Group.Members
B = Left(Treffer.Name, 7)
If B = "CN=SIC-" Then
A = " " & Right(Treffer.Name, Len(Treffer.Name) - 3)
Set A = A.Offset(1)
End If
Next
strLDAP = "LDAP://cn=" & A & ",OU=Sicherheitsgruppen,OU=firma,DC=domäne,DC=local"
Set Group = GetObject(strLDAP)
For Each Treffer In Group.Members
A = " " & Treffer.FullName
If A <> "" Then
Set A = A.Offset(1)
End If
Next
gruppenmitglieder
End Sub
Sub gruppenmitglieder()
Application.OnTime Now + TimeValue("00:00:02"), "gruppenmitglieder", , True
Dim v
If ActiveSheet.Name = Sheets(1).Name Then
With ActiveCell
v = .Value
If v <> Range("C1") Then
Range("C1").Value = v
Ldap_User
End If
End With
End If
End Sub
Sub WorkSheets_BeforeClose(Cancel As Boolean)
Application.OnTime Now + TimeValue("00:00:02"), "gruppenmitglieder", , False
End Sub
|
Wenn da einer helfen könnte wäre super!  |
|
| |
|
 |
|
|