Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > Άνοιγμα Αρχείου 'Εξερεύνηση των Windows' με δημιουργία Φακέλου

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 13-03-12, 19:32
Όνομα: Γιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 14-04-2011
Περιοχή: Αθήνα
Μηνύματα: 5
Προεπιλογή Άνοιγμα Αρχείου 'Εξερεύνηση των Windows' με δημιουργία Φακέλου

Καλησπέρα σας,

Αρχικά να πω Συγχαρητήρια για το πολύ καλό forum !! που το βρήκα τυχαία βέβαια αλλά το χρησιμοποιώ που κ που για τις όμορφες ιδέες - θέματα του !!

Θα ήθελα την βοήθεια σας :

Θέλω να δημιουργήσω ένα κουμπί σε μια φόρμα μου που θα ανοίγει το πρόγραμμα 'Εξερεύνηση των Windows' (το εύκολο κομμάτι) αλλά παράλληλα θα δημιουργεί φάκελο με την ονομασία ενός συγκεκριμένου πεδίου (πχ. id = integer) ... αν υπάρχει ήδη ο φάκελος τότε απλά θα μου ανοίγει το πρόγραμμα 'Εξερεύνηση των Windows' στο συγκεκριμένο φάκελο.

Η ιδέα είναι ουσιαστικά να έχω διαφορετικό φάκελο ανά πελάτη-id μου ... και σε κάθε φάκελο έτσι να τοποθετήσω εγώ ότι θέλω ...

Ευχαριστώ πολύ !!
Απάντηση με παράθεση
  #2  
Παλιά 13-03-12, 20:32
Όνομα: Γιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 14-04-2011
Περιοχή: Αθήνα
Μηνύματα: 5
Προεπιλογή

Βρήκα την μισή λύση του προβλήματος ... ψάχνοντας στο forum :

If Dir("C:" & "\" & "Temp" & "\" & attribute_name, vbDirectory) = "" Then
MkDir ("C:" & "\" & "Temp" & "\" & attribute_name)
End If

Έτσι φτιάχνω τον φάκελο ... Μια χαρά !!
Όμως πατώντας το κουμπί θέλω επίσης να ανοίγει και το 'Εξερεύνηση των Windows' στον συγκεκριμένο φάκελο που δημιούργησε ... καμία ιδέα ??
Απάντηση με παράθεση
  #3  
Παλιά 14-03-12, 00:52
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Καλησπέρα Γιάννη!

Πληροφοριακά σου λέω ότι η έκφραση MkDir "C:\Temp\TestFolder" θα δημιουργήσει τον φάκελο TestFolder μόνο αν υπάρχει ο φάκελος "C:\Temp\".
Διαφορετικά θα προκληθεί σφάλμα εκτέλεσης.
Αν είσαι δεν είσαι σίγουρος αν
"C:\Temp\" υπάρχει στο σύστημα, τότε θα πρέπει
να τροποποιήσεις τον κώδικα σου έτσι που να ελέγξει την ύπαρξη κάθε φακέλου που αναφέρεται στη διαδρομή C:\Temp\TestFolder και αν δεν υπάρχει να τον δημιουργήσει

Για παράδειγμα:

Κώδικας:
Sub test()
    If Dir("C:\Temp1", vbDirectory) = vbNullString Then MkDir "C:\Temp1"
    If Dir("C:\Temp1\test", vbDirectory) = vbNullString Then MkDir "C:\Temp1\test"
End Sub
Ακόμα πιο απλά (ειδικά σε διαδρομές με περισσότερα επίπεδα) μπορεί να γίνει με τη χρήση της συνάρτησης MakeSureDirectoryPathExists (Windows API).
Επιστρέφει True αν επιτύχει και False αν προκληθεί κάποιο σφάλμα κατά την εκτέλεση της.

Η συνάρτηση περνιέται στην πάνω από όλες τις μακροεντολές μιας λειτουργικής μονάδας όπως
φαίνεται στον κώδικα παρακάτω:

Κώδικας:
Option Explicit
 Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long

Sub test1()
Dim x As Boolean
x = MakeSureDirectoryPathExists("C:\Temp1\test1\test1")
MsgBox x
End Sub
Για να έχουμε συμβατότητα σε συστήματα με λειτουργικό 64 bit και Office 2010 χρησιμοποιούμε:

Κώδικας:
Option Explicit
#If VBA7 Then
    #If Win64 Then
        Private Declare PtrSafe Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) _
                As LongPtr
    #Else
        Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long
    #End If
#Else
        Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long
#End If

Sub test1()
Dim x As Boolean
x = MakeSureDirectoryPathExists("C:\Temp1\test1\test1")
MsgBox x 
End Sub
Για την εξερεύνηση των Windows σου προτείνω τον παρακάτω σύνδεσμο: http://www.ms-office.gr/forum/1418-post5.html

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #4  
Παλιά 14-03-12, 09:20
Όνομα: Γιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 14-04-2011
Περιοχή: Αθήνα
Μηνύματα: 5
Προεπιλογή

Καλημέρα Τάσο,

Ευχαριστώ πάρα πολύ !!
Με βοήθησες απίστευτα ... συνδίασα τα κομμάτια του κώδικα σου κ όλα μια χαρά !!
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Φόρμες ] Δημιουργία Φακέλου mgeorge Access - Ερωτήσεις / Απαντήσεις 11 14-03-16 17:41
Άνοιγμα φακέλου kouk Access - Ερωτήσεις / Απαντήσεις 9 18-11-15 22:10
Δημιουργία Φακέλου με VBA Χρήστος Access - Ερωτήσεις / Απαντήσεις 1 12-03-12 21:11
Άνοιγμα παράθυρου περιήγησης φακέλων των windows στην access γίνεται?? theoma4 Access - Ερωτήσεις / Απαντήσεις 9 18-07-10 12:17


Η ώρα είναι 07:13.