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

Dateien verschieben

Dateien verschieben
walter
Hallo Experten,
ich habe folgendes Problem.
Ich möchte von einem Netzlaufwerk alle Dateien (xls und doc), welche in den Dateieigenschaften - Stichwörter einen bestimmten Eintrag haben (z.B. 0310), auf mein lokales Verzeichnis "c:\tmp\LoeFi" VERSCHIEBEN.
Dazu bräuchte ich auch noch eine Datei, auf der die verschobenen Dateien mitsamt dem Stichwort-eintrag aufgelistet sind.
Kann ich bei der Suche auch mit Variablen arbeiten? Bitte um Hinweis.
Herzlichen DANK!
lg
walter

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dateien verschieben
15.03.2010 18:45:42
JOWE
Hallo Walter,
welche der BuiltInProperties enthält denn den Text "0301"?
Im folgenden Code gehe ich davon aus, dass es sich um den Kommentar handelt und das dort tatsächlich nur diese 4 Zeichen drin stehen. Die verschobenen Dateien werden in der Arbeitsmappe aufgelistet, in der Du dieses Makro laufen läßt; und zwar in Sheet(1):
Sub jupp()
Application.ScreenUpdating = False
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim i As Integer
Dim name1, pfad1, pfad2 As String
i = 1
pfad1 = "c:\temp\quelle\" 'anpassen!!!
pfad2 = "c:\temp\ziel\" 'anpassen!!!
name1 = Dir("*.xls")
Workbooks.Open pfad1 & "\" & name1
If ActiveWorkbook.BuiltinDocumentProperties(5) = "0301" Then
ActiveWorkbook.Close savechanges:=False
ActiveWorkbook.Sheets(1).Cells(i, 1) = pfad1
ActiveWorkbook.Sheets(1).Cells(i, 2) = name1
fso.MoveFile pfad1 & name1, pfad2 & name1
Else
ActiveWorkbook.Close savechanges:=False
End If
While name1  ""
name1 = Dir
If name1 = "" Then Exit Sub
Workbooks.Open pfad1 & "\" & name1
If ActiveWorkbook.BuiltinDocumentProperties(5) = "0310" Then
i = i + 1
ActiveWorkbook.Close savechanges:=False
ActiveWorkbook.Sheets(1).Cells(i, 1) = pfad1
ActiveWorkbook.Sheets(1).Cells(i, 2) = name1
fso.MoveFile pfad1 & "\" & name1, pfad2 & "\" & name1
Else
ActiveWorkbook.Close savechanges:=False
End If
Wend
Set fso = Nothing
End Sub

Gruß
Jochen
Anzeige
AW: Dateien verschieben
16.03.2010 09:05:27
walter
Hallo Jochen,
danke für deine Mühe.
Ich habe die Pfade angepasst und musste feststellen, dass das Makro diese Angaben ignoriert. Als pfad1 habe ich "G:\5-0-Gesundheit...\Unterverz\Unterverz\Unterverz\" angegeben.
Die erste Datei, welche das Makro findet, befindet sich jedoch in einem ganz anderen Verzeichnis (Standardspeicherort von Excel).
Der Suchbegriff steht in der Zeile "Stichwörter". Das sollte - so glaube ich - durch Ersetzen von
ActiveWorkbook.BuiltinDocumentProperties(5) durch
ActiveWorkbook.BuiltinDocumentProperties("Keywords")
funktionieren.
Wenn ich das richtig behirne, dann wird jede Datei geöffnet und die Eigenschaften ausgelesen. Muss das sein? Ich möchte nämlich in einem zweiten Durchgang auch *.doc auslesen und da funktioniert das Öffnen wahrscheinlich nicht.
Bitte um Rückmeldung - DANKE!
lg
walter
Anzeige
AW: Dateien verschieben
16.03.2010 14:28:48
JoWE
Hallo Walter,
- sorry mein Fehler, bei
pfad1 = "c:\temp\quelle\" 'anpassen!!! - musst Du den letzten Backslash weglassen
pfad2 = "c:\temp\ziel\" 'anpassen!!! - und hier auch
- Keywords ist richtig
- Ich kenne nur den Weg, die Datei zu öffnen. Wenn Du einen besseren Weg findest, gib Laut :-))
- Mit dem Word-Object kannst du die Worddateien genauso behandeln.
Suche im Web nach CreateObject("Word.Application")
Gruß
Jochen
AW: Dateien verschieben
16.03.2010 15:03:55
JoWE
und vor "name1 = Dir("*.xls")"
mußt du vorher noch ein "ChDir Pfad1" einbauen
AW: Dateien verschieben
16.03.2010 15:45:44
walter
Hallo Jochen,
Die Excel-Suche funktioniert soweit einmal. Mit Word muss ich noch ein bisschen basteln.
Danke für deine HILFE!
LG
Walter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige