| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
| |
|
#1
| |||
| |||
|
καλημέρα σε ολους , εχω και εγω μια ερωτηση Εχω ένα φακελο π.χ. folter_A και εκει μεσα σε αυτον τον φακελο καθημερινα δημιουργουνται νεοι αλλοι φακελοι θελω εάν μπορώ με το FSO η με καποιο αλλο εργαλειο να εντοπιζω ποιος ειναι ο τελευταίος φακελος που δημιουργιθηκε και ποιο ειναι το ονομα του. Πχ μεσα στον εξωτερικο φακελο folter_A δημιουργιθηκε νεος φακελος πριν μια ώρα με το ονομα 0562 Θέλω να τρεξω ενα κωδικα και να βρω αυτον τον φακελο των 0562 που ειναι ο τελευταιος που δημιουργηθηκε μεσα στο folter_A και το ονομα του.. Γινετε αυτό; Και εαν αυτο γινετε, τότε εχω και μια ακομη ερωτηση, εαν μπορω στον τελευταιο φακελο που δημιουργηθηκε πχ τον 0562 να εντωπισω το τελευταιο txt που δημιουργηθηκε μεσα σε αυτον τον φακελο; Σας παλαβωσα; Σας ευχαριστω εξ αρχης παιδεια |
|
#2
| ||||
| ||||
|
Καλησπέρα Πάνο και καλωσόρισες στο φόρουμ! Η παρακάτω συνάρτηση (GetLastCreatedTextFile) επιστρέφει το πιο πρόσφατο αρχείο *.txt που υπάρχει στον υποφάκελο με την πιο πρόσφατη ημερομηνία δημιουργίας και μπορεί να προσαρμοστεί πολύ εύκολα.: Κώδικας: Option Explicit
Sub Test()
Debug.Print GetLastCreatedTextFile("F:\Desktop\141012")
End Sub
Function GetLastCreatedTextFile(ParentParentFolderPath As String) As String
Dim fso As Object, oFolder As Object, dtDate As Date, strPath As String
Dim oSubFolder As Object, oFile As Object
On Error GoTo ExitHere
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(ParentParentFolderPath) Then
Set oFolder = fso.GetFolder(ParentParentFolderPath)
If oFolder.SubFolders.Count Then
dtDate = 1
For Each oSubFolder In oFolder.SubFolders
If oSubFolder.DateCreated > dtDate Then
dtDate = oSubFolder.DateCreated
strPath = oSubFolder.Path
End If
Next
Set oFolder = fso.GetFolder(strPath)
dtDate = 1
strPath = ""
For Each oFile In oFolder.Files
If UCase(fso.GetExtensionName(oFile.Name)) = "TXT" Then
If oFile.DateCreated > dtDate Then
dtDate = oFile.DateCreated
strPath = oFile.Path
End If
End If
Next
If strPath <> "" Then
GetLastCreatedTextFile = strPath
Else
GetLastCreatedTextFile = "No Textfiles found in folder '" & oFolder.Path & "'"
End If
Else
GetLastCreatedTextFile = "Could not find the any subfolders in folder '" & ParentParentFolderPath & "'"
End If
Else
GetLastCreatedTextFile = "Could not find the folder '" & ParentParentFolderPath & "'"
End If
ExitHere:
Set fso = Nothing
If Err <> 0 Then GetLastCreatedTextFile = Err.Description
End Function
Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 18-11-12 στις 22:02. |
|
#3
| |||
| |||
|
καλημερα Τασο σε ευχαριστω για την γρηγορη απαντηση Δινω Debug.Print GetLastCreatedTextFile("C:\Backup\3589\0709") αυτο αρχικα και οταν φτανει εδώ If oFolder.SubFolders.count Then πηγενει στο else. σημενει οτι δεν βρισκει την διαδρομη; |
|
#4
| ||||
| ||||
|
Καλημέρα Πάνο! Η συνάρτηση φτιάχτηκε με βάση την περιγραφή σου. Ο φάκελος που δίνεις προφανώς δεν περιέχει υποφάκελους και για αυτό το λόγο ο κώδικας πάει κατευθείαν στο "Else". Ο κώδικας προϋποθέτει τον κυρίως φάκελο (κατά την περιγραφή του ζητούμενου σου τον "folter_A ") Κατόπιν θα ψάξει τυχόν υποφακέλους του folter_A για να βρει τον πιο πρόσφατο υποφάκελο. Αν δεν υπάρχουν υποφάκελοι η συνάρτηση δεν θα συνεχίσει αλλά θα επιστρέψει την συμβολοσειρά "Could not find the any subfolders in folder .....". Θα πρέπει να δώσεις τη διαδρομή του φακέλου που περιέχει τους υποφακέλους. Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
|
#5
| |||
| |||
|
τασο καλησπερα ναι ειχες δικιο του εδινα και το φακελο που επρεπε να ψαξει μονο του. δουλευει μια χαρα σε ευχαριστω πολυ |
|
#6
| ||||
| ||||
|
Να είσαι καλά Πάνο! Ευχαριστώ για την ανταπόκριση! Καλή συνέχεια!
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [ Φόρμες ] Δημιουργία Φακέλου | mgeorge | Access - Ερωτήσεις / Απαντήσεις | 11 | 14-03-16 16:41 |
| [Γενικά] Λίστα ονοματεπωνύμων: εντοπισμός ονομάτων, επωνύμων ή μέρους των και ενημέρωση κελιών | Skakinen | Excel - Ερωτήσεις / Απαντήσεις | 7 | 14-02-15 23:19 |
| Δημιουργία Φακέλου με VBA | Χρήστος | Access - Ερωτήσεις / Απαντήσεις | 1 | 12-03-12 20:11 |
| [Συναρτήσεις] ΛΙΣΤΑ - ΠΙΝΑΚΑΣ εντοπισμός εγγραφής | Thanosp | Excel - Ερωτήσεις / Απαντήσεις | 7 | 06-03-12 19:22 |
Η ώρα είναι 07:27.


Υβριδικός τρόπος

