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

Pavel Lasák - autor webu

Microsoft Office (Word, Excel, PowerPoint) se věnuji od roku 2006. Své vědomosti a zkušenosti dávám k dispozici na různých školeních a konzultacích, ale také na tomto webu. K dispozici na tomto webu je mnoho návodu, tipů a triků včetně desítek různých šablon.

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

Doporučte tento článek přátelům

Pokud vám článek pomohl, případně si myslíte, že může pomoci i někomu dalšímu, budu rád když jej sdílením doporučíte přátelům - děkuji:



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

25.03.2017:
ROUNDUP, ROUNDDOWN - zaokrouhlování

07.04.2017:
Řazení Excel - bug - problém

09.04.2017:
Podmínkové funkce Excel - bug - problém


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 | 20183

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