Thema Datum  Von Nutzer Rating
Antwort
22.10.2018 11:25:24 Andreas Vogt
NotSolved
Blau Beschleunigen des Befüllens in ListBox (Formular schneller anzeigen)
23.10.2018 01:10:44 Ulrich
NotSolved
23.10.2018 08:40:05 Andreas Vogt
NotSolved
23.10.2018 12:55:47 Ulrich
NotSolved
30.10.2018 10:43:17 Gast83887
NotSolved
30.10.2018 11:13:19 Ulrich
NotSolved
30.10.2018 11:36:17 Andreas Vogt
NotSolved
30.10.2018 12:22:25 Ulrich
NotSolved
30.10.2018 14:09:29 Andreas Vogt
NotSolved
30.10.2018 16:55:52 Ulrich
NotSolved
30.10.2018 17:16:31 Andreas Vogt
NotSolved
30.10.2018 17:41:40 Ulrich
NotSolved
30.10.2018 17:46:16 Ulrich
NotSolved
30.10.2018 18:14:39 Gast98839
NotSolved
30.10.2018 23:57:46 Ulrich
NotSolved
31.10.2018 08:35:03 Andreas Vogt
NotSolved
31.10.2018 12:45:41 Ulrich
NotSolved
31.10.2018 12:57:13 Andreas Vogt
NotSolved
31.10.2018 16:07:21 Ulrich
NotSolved
31.10.2018 16:20:10 Andreas Vogt
NotSolved
31.10.2018 21:36:25 Ulrich
NotSolved
02.11.2018 10:11:32 Gast48059
NotSolved

Ansicht des Beitrags:
Von:
Ulrich
Datum:
23.10.2018 01:10:44
Views:
560
Rating: Antwort:
  Ja
Thema:
Beschleunigen des Befüllens in ListBox (Formular schneller anzeigen)

Hallo,

von einem LDAP-Server habe ich null Ahnung und da du deinen Code auch nicht zeigst, kann man da nicht nachschauen, ob es am Code liegt.

 

Das hört sich irgendwie so an, als ob diese Liste sich nicht so wahnsinnig oft ändern würde. Wenn dem so ist, dann könnte es eine Strategie sein, die Liste schon mal vorher "auf Vorrat" vom Server zu holen (weil 5-7 Sekunden empfinde ich schon wirklich krass lang).
Das einfachste ist IMHO wenn du die Liste beim Öffnen der Datei in ein ausgeblendetes Tabellenblatt schreibst. Dazu schreibst du auch einen Zeitstempel. Wenn du dann das Formular lädst, dann schaust du zuerst, wie alt die Daten im Tabellenblatt sind und wenn sie "frisch genug sind", dann nimmst du die aus dem Tabellenblatt, ansonsten eben vom LDAP-Server.
Evtl. gilt es den Datenschutz zu beachten (du hast ja dann Usernamen in der Datei abgelegt, die du evtl. nicht darin speichern willst/sollst/darfst). Da muss also evtl. nachgebessert werden.
Allerdings hat das den Nachteil, dass dann das öffnen der Datei so lange dauert. Das finde ich auch nicht so prickelnd.

 

Daher noch eine andere Idee von mir: Du hast ja schon den VBA-Code, um die Daten vom LDAP-Server zu holen. Könntest du das auch mit VBS oder VB? Falls das leicht umzustricken ist, dann würde ich in meiner laienhaften Naivität wahrscheinlich so vorgehen:
Beim Öffnen der Datei wird automatisch eine Textdatei mit dem VBS-Code im lokalen temp-Verzeichnis (environ("TEMP") ) abgelegt und diese wird dann gestartet. Jetzt kannst du mit Excel weiterarbeiten wärend dein VBS-Script im Hintergrund vom LDAP-Server die Daten holt und in einer Datei im temp-Verzeichnis ablegt. Sind alle Daten vom LDAP-Server in die Datei geschrieben, legt dein VBS-Code noch eine Datei "DataLoaded.txt" im temp-Verzeichnis an, in die du einen Zeitstempel reinschreibst.
Startest du nun deine Userform, schaut sie zunächst nach, ob die Datei "DataLoaded.txt" existiert und ob der Zeitstempel "frisch genug ist". Wenn das alles gut ist, holt sich die Userform die Daten aus der anderen Datei aus dem temp-Verzeichnis, was sehr schnell gehen sollte).
Existiert die Datei "DataLoaded.txt" nicht, ist entweder der VBS-Code noch nicht fertig (müsste man daran erkennen, dass die Datendatei im temp-Verzeichnis bereits existiert), oder dass das ist irgendwie schiefgegangen mit dem VBS-Code. Da kannste dir ja überlegen, wie du auf die Situationen reagieren möchtest.
Beim Schließen der Exceldatei löscht du einfach wieder alle von dir angelegten Dateien.

 

Dieser zweite Vorschlag ist ja schon irgendwie ein ziemlich umständliches Konstrukt. Leider weiß ich nicht, wie man anders erreichen kann, dass du mit Excel ganz normal arbeiten kannst, während im Hintergrund die Daten geholt werden. Ich bin aber in solchen Fragen auch überhaupt nicht erfahren. Das ist einfach eine Idee, wie ich es evtl. machen würde.

 

Grüße, Ulrich


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
22.10.2018 11:25:24 Andreas Vogt
NotSolved
Blau Beschleunigen des Befüllens in ListBox (Formular schneller anzeigen)
23.10.2018 01:10:44 Ulrich
NotSolved
23.10.2018 08:40:05 Andreas Vogt
NotSolved
23.10.2018 12:55:47 Ulrich
NotSolved
30.10.2018 10:43:17 Gast83887
NotSolved
30.10.2018 11:13:19 Ulrich
NotSolved
30.10.2018 11:36:17 Andreas Vogt
NotSolved
30.10.2018 12:22:25 Ulrich
NotSolved
30.10.2018 14:09:29 Andreas Vogt
NotSolved
30.10.2018 16:55:52 Ulrich
NotSolved
30.10.2018 17:16:31 Andreas Vogt
NotSolved
30.10.2018 17:41:40 Ulrich
NotSolved
30.10.2018 17:46:16 Ulrich
NotSolved
30.10.2018 18:14:39 Gast98839
NotSolved
30.10.2018 23:57:46 Ulrich
NotSolved
31.10.2018 08:35:03 Andreas Vogt
NotSolved
31.10.2018 12:45:41 Ulrich
NotSolved
31.10.2018 12:57:13 Andreas Vogt
NotSolved
31.10.2018 16:07:21 Ulrich
NotSolved
31.10.2018 16:20:10 Andreas Vogt
NotSolved
31.10.2018 21:36:25 Ulrich
NotSolved
02.11.2018 10:11:32 Gast48059
NotSolved