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

Rückmeldung aus XCopy in MsgBox

Rückmeldung aus XCopy in MsgBox
16.02.2015 17:08:34
Florian

Hallo Zusammen,
ich habe ein komplexes Makro in dem unter anderem ein Batchbefehl ausgeführt wird in dem Dateien von A nach B kopiert warden.
XCopy gibt nach dem Kopiervorgang eine Infozeile aus in der steht wieviele Dateien kopiert wurden.
Gibt es einen Weg die letzte Zeile in eine VBA-Variable zu legen und in der ab schließenden MsgBox anzuzeigen?
Hier ein Beispiel einer XCopy-Rückmeldung:

C:\Users\Test\Pictures\2.png
C:\Users\Test\Pictures\527048_SZ_00_FB_EPS_1000.jpg
C:\Users\Test\Pictures\cache_8667392[1].jpg
C:\Users\Test\Pictures\CE Konformit„tserkl„rung - pump des touch.pdf
C:\Users\Test\Pictures\Human_Body_02.png
C:\Users\Test\Pictures\IMG_0337.PNG
C:\Users\Test\Pictures\Mann.jpg
C:\Users\Test\Pictures\Schirmverschraubung.jpg
C:\Users\Test\Pictures\Unterlage.jpg
C:\Users\Test\Pictures\warnschild[1].jpg
C:\Users\Test\Pictures\xion_1.jpg
11 Datei(en) kopiert
Gruß und Danke
Flo

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rückmeldung aus XCopy in MsgBox
16.02.2015 17:35:08
Florian
Habe grade festgestellt, dass durchdie Option /Q XCopy die kopierten Dateinen nicht auflistet.
So erhalte ich nur die "letzte" Zeile:
11 Datei(en) kopiert
Danke und Gruß
Flo
PS: Sorry für das doppelte Posten, IE hat gehangen und ich habe darum auf Reload geklickt...

AW: Rückmeldung aus XCopy in MsgBox
16.02.2015 21:09:25
Florian
Hallo Zusammen,
keiner ne Idee?
Ich habe in der Zwischenzeit versucht die Ausgabe in eine Text-Datei zu legen.
Excel schein aber ein Dos-Shell zu verwenden welches keine Dateien anlegt ?!?
Versucht habe ich:
"xcopy /D /E /R /H /Y /Q " & Chr(34) & NetzwerkPfad & "*.*" & Chr(34) & " " & Chr(34) & LokalerPfad & Chr(34) & " > Y:\Temp\Copy.txt"

Leider ohne das auch nur eine Copy.txt angelegt wird.
Sobald die Erweiterung

& " > Y:\Temp\Copy.txt"
angefügt wird wird der Copy-Befehl nicht mehr ausgeführt.
Auch die Variante
Copy_Info = shell "xcopy /D /E /R /H /Y /Q " & Chr(34) & NetzwerkPfad & "*.*" & Chr(34) & " " & Chr(34) & LokalerPfad & Chr(34)

führt nicht zum gewünschten Ergebnis, es wird nur der Fehlercode zurück gegeben.
Hiiilfeeeee :-)
Danke und Gruß
Flo

Anzeige
AW: Rückmeldung aus XCopy in MsgBox
16.02.2015 21:25:51
Jürgen V.
Hallo Florian,
hast Du mal versucht, den Xcopy-Befehl über die cmd.exe auszuführen? Also:
shell "cmd.exe /cxcopy /D /E /R /H /Y /Q " & Chr(34) & NetzwerkPfad & "*.*" & Chr(34) & " " & Chr(34) & LokalerPfad & Chr(34) & " > Y:\Temp\Copy.txt"
Gruß, Jürgen

AW: Rückmeldung aus XCopy in MsgBox
17.02.2015 10:46:16
Florian
Hallo Zusammen,
der Tipp von Jürgen hat funktioniert!!! Danke Jürgen.
Es wird nun eine TXT-Datei angelegt die ich wie folgt auslese:
Dim Text As String
Open "Y:\Temp\Copy.txt" For Input As #1
Line Input #1, Text
Vielen Dank und weiterhin frohes Schaffen
Gruß
Flo

Anzeige
AW: Rückmeldung aus XCopy in MsgBox
17.02.2015 11:09:57
Florian
Hallo noch Mal,
mir ist ein Problem aufgefallen.
Der Copiervorgang dauer mit unter etwas länger und ich habe darum die Option /Q bei XCopy raus genommen damit der User auch eine Rückmeldung von dem schwarzen Fenster bekommt.
Die erzeugte Textdatei lese ich jetzt so aus:

Open "Y:\Temp\Copy.txt" For Input As #1
i = 0
Do While Not EOF(1)
Line Input #1, Text
i = i + 1
Loop

damit nur die letzte Zeile in der MsgBox (Text) angeteigt wird.
Leider scheint bei cmd.exe das ECHO off zu sein???
Ich become trotz fehlender Option /Q keine Rückmeldung vom Dos-Fenster.
Finde keine passende Option für cdm.exe.
Hat jemand einen Tipp?
Danke und Gruß
Flo

Anzeige
AW: Rückmeldung aus XCopy in MsgBox
17.02.2015 19:13:03
Jürgen V.
Hallo Florian,
das Shell-Kommando erlaubt über einen weiteren Parameter die Fensteranzeige des aufgerufenen Programms zu steuern (siehe VBA-Hilfe). Ich vermute jedoch, dass das Dos-Fenster nach Abschluss des Kopiervorgangs schneller geschlossen ist als der Anwender es lesen kann.
Alternative Idee: lege den Kopiervorgang in eine Batchdatei (.bat, .cmd) und setzte darin noch den pause-Befehl dazu. Rufe dann die Batchdatei per Shell auf sorge über einen passenden windowstyle-Parameter (z. B. "vbMaximizedFocus") dafür, dass das Fenster angezeigt wird.
Gruß, Jürgen

AW: Rückmeldung aus XCopy in MsgBox
17.02.2015 23:31:29
Florian
Hallo Jürgen,
hallo Forum,
der Kopiervorgang dauert teilweise 10 Minuten (bis zu 100 Dateien unterschiedlicher Größe) und die Zeit die Rückmeldung nach jeder kopierten Datei zu lesen würde ausreichen wenn diese denn angezeigt würden.
Ich sehe nur ein schwarzes Dos-Fenster und am Ende stehen alle kopierten Dateien mit der Gesamtzahl in der TXT-Datei.
Normalerweise wurde der Inhalt der TXT-Datei auch im Shell angezeigt.
Wie lauten denn die weiteren Parameter für die Fensteranzeige ?
Gruß und Danke
Flo

Anzeige
Rückmeldung aus XCopy in MsgBox
17.02.2015 17:37:19
Anton
Hallo Florian,
so?:
  Set objShell = CreateObject("WScript.Shell")
Set objExec = objShell.Exec("xcopy /D /E /R /H /Y C:\tmp\11 C:\temp") 'anpassen
res = Split(objExec.StdOut.ReadAll, vbCrLf)
MsgBox res(UBound(res) - 1)

mfg Anton

AW: Rückmeldung aus XCopy in MsgBox
17.02.2015 23:34:23
Florian
Moin Anton,
hallo Forum,
danke für den Tipp, werde ich gleich morgen versuchen...
Gruß und n8
Flo

zu oT
20.02.2015 18:46:37
Anton

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige