Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1624to1628
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

FileDialog funktioniert nicht

FileDialog funktioniert nicht
16.05.2018 21:19:55
Ete
Hallo liebe Excel-Gemeinde,
bisher konnte die Suche in diesem Forum oftmals Treffer ausspucken. Dieses Mal leider nicht. Hier mein Problem:
Ich kopiere aus einer OriginalXLSMdatei ausgewählte Zeilen in eine zweite Exceldatei (.XLSX), die als Datenbasis für Serienbriefe dient. Nach erfolgreichem kopieren startet die Sub für das Öffnen des Dialogfeldes und der Erstellung des Serienbriefes abhängig der Auswahl. Diese Prozeduren rufe ich über einen Button auf der erst das Modul fürs Kopieren startet und am Ende erfolgt die Kopierenprozedur mit dem Call auf die Serienbriefprozedur.
Das funktioniert alles sehr gut, solange das Dialogfeld nur einmal aufgerufen wird bzw. wenn es aufgerufen und durch "Abbrechen" im Dialogfeld die Prozedur beendet wurde. Wenn eine Auswahl im Dialogfeld erfolgte läuft die Prozedur beim ersten Mal sauber durch. Beim erneuten Starten der Prozedur wird das Dialogfeld jedoch nur ganz kurz angezeigt und schließt sich wieder, als ob automatisch eine AUswahl erfolgte und die Prozedur gibt zurück "Der Benutzer hat abgebrochen." und bricht ab.
Habe bereits verschiedene Ansätze verfolgt. Leider ohne Erfolg. Wenn ich die Prozedur direkt aus dem VBA-Editor starte läuft es super durch. Lediglich über den Button nicht mit den Calls.
anbei eine anonymisierte datei
https://www.herber.de/bbs/user/121659.zip

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: FileDialog funktioniert nicht
17.05.2018 00:17:35
Luschi
Hallo Ete,
Schuld ist dieser Befehl: Application.SendKeys ("{ESC}")!
Da Du den 2. Parameter (True oder False) nicht angegeben hast, wirkt automatisch False, das ja der Standardwert ist. Es wird also dieser SendKeys-Befehl gesendet, aber nicht ausgewertet und verbleibt damit im Tastaturpuffer stecken und wartet auf die Auswertung (siehe Vba-Hilfe).
Der anschließenden 2. Aufruf des FileOpen-Dialogs liest den Tastaturpuffer aus (das machen alle Dialoge) und wertet das ESC-Signal als Befehlsabbruch.
Was dieses gesendete ESC eigentlich bewirken?
fragt sich Luschi
aus klein-Paris
PS: Die Wirkung von Application.SendKeys wurde von M$ in den neueren Excel-Versionen sehr stark beschnitten und ist auf vom verwendeten Betriebssystem abhängig.
Google mal nach: Windows Vista Sendkeys Ersatz
Anzeige
AW: FileDialog funktioniert nicht
17.05.2018 12:30:02
Ete
Hallo Luschi,
danke für die Erläuterung.
Ich teste das nachher gleich, hört sich jedoch nach der Lösung an ;-)
Der ESC button sollte eigentlich ursprünglich mal die copyRange deselcten! Nach dem Kopiervorgang in das andere Excel file bleibt die Markierung mit dem bewegten Copybereich übrig.
Da hatte ich mir das mit der ESC Taste überlegt.
MfG
Ete
AW: FileDialog funktioniert nicht
17.05.2018 12:36:54
Luschi
Haklki Ete,
das Wegnehmen der Markierung des Kopierbereiches geht so:
Application.CutCopyMode = False
Gruß von Luschi
aus klein-Paris
PS: das hätte Dir auch der Makrorekorder verraten!!!
AW: FileDialog funktioniert nicht
17.05.2018 13:39:38
Ete
Hallo Luschi,
Asche auf mein Haupt aber ich glaube ich habe den Makrogenerator noch ne verwendet.
Ich danke dir.
Grüße
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige