PDA

Vollständige Version anzeigen : Nächstes Element in Liste (Explorer) per VBA markieren


halweg
09.10.2017, 18:49
Irgendwie finde ich keinen Ansatz, innerhalb einer Auflistung (Explorer) das jeweils nächste Objekt zu markieren.

Ich habe begriffen, dass ich mit Explorer.AddToSelection ein Element markieren kann. Aber wie ermittle ich das jeweils nächste, nicht markierte Element der Liste, wenn es keine Möglichkeit gibt, zum aktuell markierten Element einen Index (bezogen auf die gesamte Auflistung des Explorers) zu ermitteln.

Muss ich hier wirklich mit "SendKeys" arbeiten?

Viele Grüße, Halweg

markusxy
09.10.2017, 19:41
Welchen Sinn soll es haben, irgend ein Element zu einer Markierung hinzuzufügen? Das muss ja einem Konzept folgen, ansonsten kannst ja gleich alle markieren.

Mangels aktuellem Outlook kann ich das nicht testen.
Was ich versuchen würde:

Via ActiveExplorer.CurrentFolder.Items kannst du auf die Liste zugreifen und das entsprechende Element wählen und der Auswahl hinzufügen.
Zuerst müsstest du natürlich sortieren und dann mittels Find eingrenzen, damit du bei dem richtigen Element landest.

LG Markus

halweg
09.10.2017, 20:35
Danke für die Rückmeldung.
Zum Sinn:
In meiner Aufgabenliste verschiebe ich markierte Aufgaben per Mitteltaste Maus auf den nächsten Tag (.StartDate = Date +1). Danach bleibt allerdings die Markierung erhalten. Mein Wunsch wäre, dass, wenn ich eine Aufgabe verschoben habe, die nächste markiert wird und ich markierungstechnisch nicht im Gruppierungsblock für morgen lande.

Über den .CurrentFolder komme ich leider nicht weit, da meine tägliche Aufgabenliste (die rechts unten in der Outlook-Hauptansicht) doch schon recht komplex gefiltert und auch gruppiert ist. Die Liste der angezeigten Aufgaben könnte ich über .SelectAll noch abrufen, aber das nützt mir ja nichts, da ich nicht weiß, welchen Index die aktuelle Aufgabe in der Gesamtliste hat.

halweg
10.10.2017, 12:05
Ich hab's jetzt erst mal über SendKeys gemacht, nicht elegant, aber funktioniert.