VBA - vytvoření složky v PC dle hodnot v buňkách

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Odpovědět
Transmit
nováček
Příspěvky: 29
Registrován: 28 led 2010 13:33

VBA - vytvoření složky v PC dle hodnot v buňkách

Příspěvek od Transmit »

Dobrý den,

poradil by někdo, prosím, jak vytvořit skrz VBA složku v PC podle hodnot v buňkách?
Přikládám soubor s hodnotami v buňkách A1 a A2 jako příklad.
Složka by měla být vytvořena v adresáři

C:\Pojistné události\Scan dokumentů

s tím ale, že cíl je vytvořit nejprve složku dle kalendářního roku (v přiloženém souboru hodnota v buňce A1), pokud již neexistuje, a v ní až pak další podsložku (hodnota v buňce A2). Pokud by existovaly již obě složky, tak by mohlo makro vyhodit hlášku, že "Složka je již vytvořena".

Celá cesta ke složce by tak vypadala C:\Pojistné události\Scan dokumentů\2016\3SH5458_45898569

Hodnoty pro vytvoření složek budou vždy v prvním řádku tabulky v hodnotách A1 a A2, na listu "PU_slozka".
Makro bych spouštěl tlačítkem.

Předem děkuji za radu!
Přílohy
Sešit1.xlsx
(8.05 KiB) Staženo 64 x
guest

Re: VBA - vytvoření složky v PC dle hodnot v buňkách

Příspěvek od guest »

Tak když stačí jen rada :-)

Existence souboru/složky se řeší přes Dir, resp. FileExists, FolderExists. Vytváření složky pak má na starosti kupříkladu MkDir.
Transmit
nováček
Příspěvky: 29
Registrován: 28 led 2010 13:33

Re: VBA - vytvoření složky v PC dle hodnot v buňkách

Příspěvek od Transmit »

:) napsal jsem to špatně, rada nestačí, poprosím celý VBA kod, díky!
birgis
nováček
Příspěvky: 36
Registrován: 06 bře 2011 16:27

Re: VBA - vytvoření složky v PC dle hodnot v buňkách

Příspěvek od birgis »

Ahoj, mam na to funkci, která kontroluje existenci, případně vytvoří složku

Kód: Vybrat vše

Function myFolderCheck(ByVal myFullPath As String) As Boolean
Dim myPath() As String, i, j, TestPath As String
Dim FSO As Object
myFolderCheck = False
posledni_znak:
If Right(myFullPath, 1) = "\" Then
    myFullPath = Left(myFullPath, Len(myFullPath) - 1)
    GoTo posledni_znak
    End If
myPath() = Split(myFullPath, "\")

For i = LBound(myPath) To UBound(myPath)
    For j = 0 To i
        TestPath = TestPath & myPath(j) & "\"
    Next j
Set FSO = CreateObject("scripting.filesystemobject")
    If FSO.FolderExists(TestPath) = False Then
        MkDir TestPath
End If
    TestPath = Empty
Next i
myFolderCheck = True
End Function
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Ruční vytvoření spouštěcího oddílu na SSD
    od Haalf » » v Windows 11, 10, 8...
    8 Odpovědi
    4975 Zobrazení
    Poslední příspěvek od pcmaker
  • W11 - předdefinované složky
    od draxxx » » v Windows 11, 10, 8...
    2 Odpovědi
    3879 Zobrazení
    Poslední příspěvek od draxxx
  • Obsah složky se zrcadlí na ploše
    od Grander » » v Windows 11, 10, 8...
    4 Odpovědi
    4613 Zobrazení
    Poslední příspěvek od Grander

Zpět na „Kancelářské balíky“