Αυτό το σεμινάριο θα δείξει πώς να χρησιμοποιήσετε τη μέθοδο MoveFile του FileSystemObject.
Μετακίνηση αρχείων με το VBA FileSystemObject
Η μέθοδος MoveFile μετακινεί ένα ή περισσότερα αρχεία από τη μια θέση στην άλλη.
Ορίστε αναφορά VBA
Πρώτον, όταν χρησιμοποιείτε το FileSystemObjects, ίσως χρειαστεί να ορίσετε μια αναφορά στη βιβλιοθήκη χρόνου εκτέλεσης σεναρίων VB: ανοίξτε το Visual Basic Editor (ALT+F11), επιλέξτε Εργαλεία> Αναφορές από το αναπτυσσόμενο μενού και επιλέξτε το πλαίσιο ελέγχου 'Microsoft Scripting Runtime'.
FileSystemObject
Δεύτερον, πρέπει να δημιουργήσετε το FileSystemObject:
12 | Dim FSO ως νέο FileSystemObjectΟρισμός FSO = CreateObject ("Scripting.FileSystemObject") |
Τώρα έχετε πρόσβαση στο MoveFile και στις άλλες μεθόδους FileSystemObject.
Προγραμματισμός VBA | Το Code Generator λειτουργεί για εσάς!
Μετακίνηση ενός αρχείου
Για να μετακινήσετε ένα μόνο αρχείο, μπορείτε να χρησιμοποιήσετε την απλή σύνταξη του FSO.MoveFile (πηγή, προορισμός).
1 | FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt" |
Όπως αναφέρθηκε παραπάνω, πρώτα πρέπει να δημιουργήσετε το FileSystemObject:
1234567 | Υπο FSOMoveFile ()Dim FSO ως νέο FileSystemObjectΟρισμός FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt"Τέλος υπο |
Μετακίνηση πολλαπλών αρχείων
Μπορείτε να μετακινήσετε πολλά αρχεία με τα ίδια ονόματα:
1 | FSO.MoveFile "C: \ Src \ TestFile*.txt", "C: \ Dst \" |
Or μπορείτε να μετακινήσετε πολλά αρχεία με την ίδια επέκταση:
1 | FSO.MoveFile "C: \ Src \ *.xlsx", "C: \ Dst \" |
Simply απλά όλα τα αρχεία από ένα φάκελο:
1 | FSO.MoveFile "C: \ Src \*", "C: \ Dst \" |
Παρατηρήστε, εδώ χρησιμοποιούμε τον χαρακτήρα * μπαλαντέρ.
Αντί να χρησιμοποιήσετε την μπαλαντέρ *, μπορείτε να μετακινήσετε όλα τα αρχεία σε ένα φάκελο χρησιμοποιώντας έναν βρόχο Για κάθε.
12345678910111213141516 | Sub FSOMoveAllFiles ()Dim FSO ως νέο FileSystemObjectDim FromPath As StringDim ToPath As StringDim FileInFromFolder Ως αντικείμενοFromPath = "C: \ Src \"ToPath = "C: \ Dst \"Ορισμός FSO = CreateObject ("Scripting.FileSystemObject")Για κάθε FileInFromFolder In FSO.GetFolder (FromPath). ΑρχείαFileInFromFolder.Move ToPathΕπόμενο FileInFromFolderΤέλος υπο |
Μετακίνηση αρχείου σε νέο φάκελο
Μπορείτε επίσης να μετακινήσετε τα αρχεία σε έναν φάκελο που δημιουργήθηκε πρόσφατα. Για να το κάνετε αυτό, προσθέστε την εντολή
1 | MkDir "C: \ Dst \" |
πριν δηλώσετε τη διαδρομή προορισμού.
1234567891011121314151617 | Sub FSOMoveAllFiles ()Dim FSO ως νέο FileSystemObjectDim FromPath As StringDim ToPath As StringDim FileInFromFolder Ως αντικείμενοFromPath = "C: \ Src \"MkDir "C: \ Dst \"ToPath = "C: \ Dst \"Ορισμός FSO = CreateObject ("Scripting.FileSystemObject")Για κάθε FileInFromFolder In FSO.GetFolder (FromPath). ΑρχείαFileInFromFolder.Move ToPathΕπόμενο FileInFromFolderΤέλος υπο |
Κουραστήκατε να ψάχνετε για παραδείγματα κώδικα VBA; Δοκιμάστε το AutoMacro!
Μετακίνηση φακέλων
Μπορείτε να χρησιμοποιήσετε την αναλογική μέθοδο MoveFolder για μετακίνηση φακέλων.
1234567 | Sub FSOMoveFolder ()Dim FSO ως νέο FileSystemObjectΟρισμός FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFolder "C: \ OldFolder", "C: \ Dst \ NewFolder"Τέλος υπο |