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

Mit Move eine Datei verschieben

Mit Move eine Datei verschieben
18.08.2008 18:31:37
Reinhard
Hallo Wissende,
in einem festgelegten Verzeichnis sollen alle xls-Dateien überprüft werden (alle gleich aufgebaut) ob sie Kriterien entsprechen, wenn nicht sollen sie in ein Unterverzeichnis dieses Verzeichnisses verschoben werden.
So wie es sich mir darstellt, funktioniert die Erstellung des Unterverzeichnisse "Schlecht" gut, auch die Überprüfung der Kriterien scheint gut zu klappen.
Mein Problem ist diese Zeile
.FoundFiles(F).Move Pfad & "\Schlecht\" & Dateiname
die mag der Debugger nicht :-( Fehler 424, Objekt erforderich
.FoundFiles(F) hat zu diesem Zeitpunkt den Inhalt: H:\kwMessdaten\abc..xls
Pfad hat zu diesem Zeitpunkt den Inhalt: H:\kwMessdaten
Dateiname hat zu diesem Zeitpunkt den Inhalt: abc.xls
Irgendwie benutze ich "Move" falsch, hab auch schon einiges ausprobiert, naja ergebnislos. Und ja, die Vba-Hilfe zu Move habe ich mir angeschaut, vielleicht habe ich da an Irgendwas wichtigem vorbeigeschielt *gg*
Hier der Code:

Option Explicit
Sub SpreuUndWeizen()
Dim fs, F, Pfad, Dateiname
Pfad = "H:\kwMessDaten"
If Dir(Pfad & "\Schlecht/nul") = "" Then MkDir Pfad & "\Schlecht"
Set fs = Application.FileSearch
With fs
.LookIn = Pfad
.SearchSubFolders = False
.Filename = "*.xls"
If .Execute() > 0 Then
For F = 1 To .FoundFiles.Count
Workbooks.Open .FoundFiles(F)
Dateiname = ActiveWorkbook.Name
If Gut(ActiveWorkbook.Worksheets(1)) = False Then
ActiveWorkbook.Close savechanges:=False
MsgBox .FoundFiles(F)
.FoundFiles(F).Move Pfad & "\Schlecht\" & Dateiname
Else
ActiveWorkbook.Close savechanges:=False
End If
Next F
End If
End With
End Sub
Function Gut(Blatt As Worksheet) As Boolean
Dim Zähler As Byte, Zei As Long
For Zei = 7 To 35 Step 2
If Blatt.Cells(Zei, 2) >= Blatt.Cells(3, 2) Then
If Blatt.Cells(Zei, 2) 


Danke ^ Gruß
Reinhard

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

Betreff
Datum
Anwender
Anzeige
AW: Mit Move eine Datei verschieben
18.08.2008 18:43:12
Tino
Hallo,
das verschieben gehört zum FileSystemObject
Hier mal ein Beispiel

Dim fso As Object, F1 As Object
quelle = "c:\test\a\a.txt"
ziel = "c:\test\b\"
Set fso = CreateObject("Scripting.FileSystemObject")
Set F1 = fso.GetFile(quelle)
F1.Move (ziel)


Gruß Tino

AW: Mit Move eine Datei verschieben
18.08.2008 18:52:00
Reinhard
Hallo Tino,
danke dir, ich gehe sehr davon aus, das kriege ich eingebaut.
Schade, ich dachte Vba könnte das in einem Einzeiler so wie bei Dos, bei Chdir usw. klappts ja auch, und ich hätte nur einen "bedienungsfehler" beim Move gemacht.
Gruß
Reinhard

Anzeige
geht auch einfacher. ;-)
18.08.2008 19:13:00
Tino
Hallo,
geht natürlich auch einfacher, bin nur auf deinen Code eingegangen.
Dabei kannst du auch die Datei gleich umbenennen wen du möchtest bei Ziel einfach einen anderen Namen vergeben.

Dim quelle As String
Dim Ziel As String
quelle = "J:\Test\Datei.xls"
Ziel = "J:\Test\Test\Datei.xls"
Name quelle As Ziel


Gruß Tino

AW: geht auch einfacher. ;-)
19.08.2008 07:59:00
Reinhard
Moin Tino,
Name so benutzt kannte ich nicht, dankeschön.
Gruß
Reinhard

206 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige