Přeskočit navigaci | Přeskočit na novinky
     

Jste zde: Úvodní stránka » excel » vba-soubory » excel-vba-soubor-slozka-adresar

Existuje soubor adresář (složka) - Excel VBA

Videokurzy Excel

Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:

Jak v Excelu zjistit, zda soubor adresář existuje.

Existuje adresář (složka)

jedno z možných řešení.

If Len(Dir("c:\adresar", vbDirectory)) = 0 Then MsgBox "Adresář neexistuje." Else Msgbox "Adresář existuje." End If

Existuje soubor

jedno z možných řešení.

If Len(Dir("c:\muj-soubor.xls")) = 0 Then Msgbox "Soubor neexistuje." Else Msgbox "Soubor existuje." End If

Kompletnější kód:

Sub ExistujeSoubor() Dim Umisteni As String Dim Hlaska As Byte Umisteni = "D:\pokusy\pavel.xls" If Dir(Umisteni) = "" Then Hlaska = MsgBox("Soubor neexistuje.", vbCritical) Else Hlaska = MsgBox("Soubor existuje.", vbInformation) End If End Sub

Aktuální umístění

Cestu nevíte, ale kontroluje se v adresáři, ve kterém se nachází soubor se spouštěným makrem.

CestaAdresare = ThisWorkbook.Path Umisteni = CestaAdresare & "\pavel.xls"

Název z buňky

Pokud hledaný název souboru je v buňce.

Jmeno = Sheets("List1").Range("A1").Text CestaAdresare = ThisWorkbook.Path Umisteni = CestaAdresare & Jmeno

Případně pokud je jen jméno bez přípony tak ji můžete doplnit.

Umisteni = CestaAdresare & Jmeno & ".xlsm"

Závěrem

Do komentařů se můžete pochlubit vlastním řešením.

Článek byl aktualizován: 01.11.2014 14:32

Odměna

Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.


Pavel Lasák - autor webu

Pavel Lasák

Microsoft Office (Word, Excel, PowerPoint) se věnuji od roku 2000 (od 2004 ne této doméně) - Roku 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici také na on-line videích pro SEDUO. Školím a konzultuji, učím na MUNI. Hlavně tvořím tento web. Je zde k dispozici přes 1.000 návodu, tipů a triků včetně stovek různých šablon, sešitů.

   Pavel Lasák LinkedIn Profil    Pavel Lasák Google+ Profil    Pavel Lasák facebook Profil    Pavel Lasák twitter Profil


Komentáře


peter mihaľo

Přidáno: 07.08.12 14:07

ani nie komentár skôr žiadosť o radu. Ak zadám do bunky meno, makro má prejsť adresáre a hľadať v nich súbor s týmto menom. Idem na to tak, že meno by sa malo načítať do premennej MENO ale neviem prísť na to, ako do príkazu "If Len(Dir("c:\muj-soubor.xls"))" zapísať, aby fungoval s tou premennou "If Len(Dir("c:\MENO.xls")) Ďakujem

Pavel Lasák

Přidáno: 07.08.12 18:27

To peter mihaľo: mujsoubor = "c:\MENO.xls" Len(Dir(mujsoubor))

legutko

Přidáno: 11.01.13 00:01

Esli pisatel nemyslel spíše toto: mujsoubor = "c:\"&NejakeMojeMeno&".xls"

Milan

Přidáno: 28.01.13 09:26

Zdravím Můžete mi někdo prosím poradit s ověřením souboru v aktuálním adresáři. Mám soubor s makrem, ve kterém potřebuji ověřit zda v tomtéž adresáři odkud je otevřen tento soubor existuje jiný soubor např. MOJE.xls pokouším se nějak použít "ThisWorkbook.Path", ale nedaří se mi to správně napsat, tak aby to fungovalo. Diky

Pavel Lasák

Přidáno: 28.01.13 15:56

To Milan: Něco takového CestaAdresare = ThisWorkbook.Path CestaCela = CestaAdresare & "\MOJE.xls" If Len(Dir(CestaCela)) = 0 Then

Marek Tichý

Přidáno: 17.06.13 16:17

Já osobně upřednostňuji řešení pomocí objektu FileSystemObject: Private Sub myExistuje_soubor() Dim fso As Object 'fso = FileSystemObject Set fso = CreateObject("Scripting.FileSystemObject") If Not fso.FileExists("C:\Temp\pokus.txt") Then MsgBox "Soubor C:\Temp\pokus.txt neexistuje." Else MsgBox "Soubor C:\Temp\pokus.txt existuje.." End If End Sub Pro ověření existence složky stačí místo >>FileExists<< napsat >>FolderExists<<

Pavel Lasák

Přidáno: 17.06.13 21:37

To Marek Tichý: Děkuji za doplnění článku.

Milan

Přidáno: 24.12.13 14:28

zajimalo by me prosim slo by udělat tento dotaz na soubor umisteny na internetu? Chci, aby me to hlidalo po sputeni excelu zda lide pouzivaji aktualni soubor excelu

David

Přidáno: 06.02.14 21:29

Dobrý den, potřebuji nějaké makro, které by mi našlo určité xlsx soubory v adresáři a obsah listu každého z nich překopírovalo do nového souboru na jeden list pod sebe (hlavičky a sloupce jsou stejné, pouze se mění data). Př. vybrat data ze souborů běh* c:\kurzy\20140201\beh1.xlsx c:\kurzy\20140202\beh2.xlsx c:\kurzy\20140203\beh3.xlsx a vložit do souboru c:\kurzy\2014_02\prehled.xlsx

Fero

Přidáno: 22.05.14 00:39

Ahoj, prosim ta ako napisat makro 1: pre tlac na tlaciaren, ktora je na sieti. Tak aby bolo mozne z ktorehokolvek zosietovaneho PC tlacit na tejto tlaciarni. 2: ked chcem list1 tlacit na tlaciarni001 a list2 na tlaciarni002, bez toho aby som manualne nastavoval tlaciaren. Dakujem za odpoved Inak Super WEB..







Sdílejte

Pomohl Vám návod?
Sdílejte na Facebooku, G+
LinkedIn...

Nové články


Newsletter

Přihlaste se odběru novinek a získejte:
Ebook zdarma -
10 kroků ke zvládnutí (Word, Excel, PowerPoint)
Šipka Kniha 3D Více o ebooku ...

TOPlist Licence Creative Commons webarchiv rss XML

Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2017 | 21154

Tento web zatím neprošel jazykovou korekturou. Beta verze redakčního systému.