Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1324to1328
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

Script hängt bei ShellCommand

Script hängt bei ShellCommand
06.08.2013 13:35:57
Thomas
Hallöchen,
nun habe ich (mit Eurer Hilfe) ein super Script gebastelt was alles tut, was es soll.
ABER - das Ganze hat einen Haken, es läuft nur, wenn ich es mit F8 starte und über die folgenden 3 Zeilen manuell (F8-F8) hinweggehe. Die stehen direkt nach den DIMs.

v0 = "c:\test"
Kill v0 & "\*T."
Shell ("cmd /c xcopy \\pc1\daten\*T " & v0)
Wenn ich mit F8 über die Zeilen (Problem sind wohl Kill und Shell) manuell hinweggehe und dann AUSFÜHREN (F5) drücke, dann läuft das Makro problemlos.
Starte ich das Makro direkt (Sub auto_open()), passiert irgendwie - gar nix.
Muss man bei den Befehlen Kill/Shell etwas berücksichtigen, das die auch abgearbeitet werden?
Eine Fehlermeldung erfolgt allerdings nicht.
Tommi

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

Betreff
Datum
Anwender
Anzeige
AW: Script hängt bei ShellCommand
06.08.2013 16:15:56
Luschi
Hallo Thomas,
da nicht Excel, sondern das Beriebssystem auf Veranlassung von Excel die Dateien löscht,
mußt Du dem BS auch die Zeit dafür geben:

Dim v0 As String
v0 = "c:\test"
Kill v0 & "\*T."
Do While Dir(v0 & "\*T.", vbNormal)  ""
DoEvents
Loop
MsgBox "So..., jetzt kann es weitergehen", 64
Gruß von Luschi
aus klein-Paris

AW: Script hängt bei ShellCommand
06.08.2013 17:42:00
Thomas
Hallo Luschi,
hm, okay, das es ein Abstimmungsproblem zwischen Excel und dem OS gibt - gebongt. Nur, mit der Schleife ändert sich am Verhalten nichts - muss diese 'Warteroutine' nicht auch noch irgendwie auf das Shell-Command ausgelegt sein?
Irgendwie verstehe ich das auch nicht ganz, der DIR-Befehl gibt eine Zeichenfolge zurück? Ist das quasi eine Routine die das OS ständig nervt 'wieder da? wieder da? wieder da?...' - und wenn DIR einen Wert liefert, dann ist der Kill befehl abgeschlossen?
Tommi

Anzeige
Nee, nicht ganz, ...
06.08.2013 18:13:29
Luc:-?
…Tommi;
mit DoEvents wird die Steuerung an das OpSys abgegeben und zwar solange wie Dir einen Wert liefert, was bedeutet, dass die Datei noch nicht gelöscht wurde. Liefert Dir einen Leer-String, bedeutet das, dass die Datei nicht mehr gefunden, also erfolgreich gelöscht wurde.
Gruß Luc :-?

AW: Nee, nicht ganz, ...
06.08.2013 22:34:39
Thomas
Hallo Luschi,
hm, das Problem ist, das nach dem Kill ein Copy-Vorgang kommt und den kann man nicht so einfach temrinierend abfragen.
Da eine unbekannte Anzahl an Dateien in das Verzeichnis kopiert wird, kann der Vorgang 2-20 Sekunden dauern (aus der Erfahrung).
Hm, gibt es keine Excel-internen Befehle für Löschen und Kopieren? Damit müsste sich das Problem ja auch lösen lassen...
LG,
Tommi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige