Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Δημιουργία Folder μέσω Vba (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/4080-dimioyrgia-folder-meso-visual-basic-applications.html)

γιώργοςΚ 01-03-16 23:52

Δημιουργία Folder μέσω Vba
 
1 Συνημμένο(α)
Καλησπέρα,

Έχω τον πιο κάτω κώδικα τον οποίο βρήκα απο την Microsoft και θέλω να δημιουργήσω ένα νεο Folder στην διαδρομή c:\ProgramData\Dab\Part1. Δεν ξέρω τι κάνω λάθος αλλά εφόσον τρέξει ο κώδικας λαμβανω το επισυναπτόμενο μήνυμα ότι δεν βρίσκει το Path (?) ενώ εάν απο τον κώδικα αφαιρέσω το Part1 που στην ουσία είναι ο δεύτερος φάκελος μέσα στον πρώτο που θα δημιουγηθεί (Dab) δουλευει μια χαρα..


Public Function CreateFolderDemo()
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateFolder("c:\ProgramData\Dab\Part1")
CreateFolderDemo = f.Path
End Function

Ευχαριστώ

vraxnakisg 02-03-16 09:58

Γεια σου Γιώργο.
Ο κώδικας σου βγάζει λάθος γιατί δεν υπάρχει ο φάκελος "Dab" και πρέπει πρώτα να τον φτιάξεις και μετά μέσα στον φάκελο "Dab" να φτιάξεις τον φάκελο "Part1".

γιώργοςΚ 02-03-16 10:28

Καλημέρα φιλε μου Γιώργο, όπως πάντα εύστοχος.!!

Εάν κατάλαβα καλά (και συγχώρεσε με διότι είμαι άπειρος σε vba) πρέπει πρώτα να δημιουργήσω τον πρώτο φάκελο και μετά να επαναλάβω τον ίδιο κωδικα αλλά με την μετατροπή του και για τον δεύτερο φάκελο?

Εννοώ δήλαδή αυτό:

1. Πατάω το κουμπί και τρέχει ο κώδικας
Public Function CreateFolderDemo()
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateFolder("c:\ProgramData\Dab")
CreateFolderDemo = f.Path
End Function

και ας πούμε πως

2. Μέσω του ίδιου ή νέου κουμπιού πατάω και τρέχει ο κώδικας
Public Function CreateFolderDemo()
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateFolder("c:\ProgramData\Dab\Part1")
CreateFolderDemo = f.Path
End Function

Εάν η λύση ειναι η πιο πανω, μπορεί ο κώδικας να προσαρμοσθεί έτσι ώστε:

1. αφενος μέν να ψάχνει πρώτα εάν υπάρχει ο πρώτος φάκελος (Dab)
2.Στην περίπτωση που δεν υπάρχει να τον δημιουργεί

3. Εφοσον υπάρχει ο πρώτος φάκελος να προχωρεί ο κώδικας στην δημιουργία και του δεύτερου.

Αυτό για μένα θα είναι το ιδανικότερο σενάριο φίλε μου..

Σε ευχιστώ πολύ για όλη την πρόθεση να βοηθάς,..

vraxnakisg 02-03-16 14:06

Γιώργο για βάλε τον κωδικά

Public Function CreateFolderDemo()
Dim strDir As String
strDir = "c:\ProgramData\Dab\Part1\"

If Dir(strDir, vbDirectory) = "" Then
MkDir strDir
Else
MsgBox "Directory exists."
End If
End Function

γιώργοςΚ 15-03-16 00:10

Καλησπέρα Γιώργο,

Δοκίμασα τον κώδικα για απευθείας δηιουργία των αρχείων και δεν δουλεύει..

Public Function CreateFolderDemo()
Dim strDir As String
strDir = "c:\ProgramData\Dab\Part1\"

If Dir(strDir, vbDirectory) = "" Then
MkDir strDir
Else
MsgBox "Directory exists."
End If
End Function

vraxnakisg 15-03-16 12:04

1 Συνημμένο(α)
Γεια σου Φίλε Γιώργο.
Δες το συνημμένο.


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

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2