Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Jak v Excelu zjistit, zda soubor adresář existuje.
jedno z možných řešení.
If Len(Dir("c:\adresar", vbDirectory)) = 0 Then
MsgBox "Adresář neexistuje."
Else
Msgbox "Adresář existuje."
End If
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
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"
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"
Do komentařů se můžete pochlubit vlastním řešením.
Článek byl aktualizován: 19.09.2020 11:07
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.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 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 i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
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
Přidáno: 07.08.12 18:27
To peter mihaľo:
mujsoubor = "c:\MENO.xls"
Len(Dir(mujsoubor))
Přidáno: 11.01.13 00:01
Esli pisatel nemyslel spíše toto: mujsoubor = "c:\"&NejakeMojeMeno&".xls"
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
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
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<<
Přidáno: 17.06.13 21:37
To Marek Tichý: Děkuji za doplnění článku.
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
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
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..
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
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 - 2024 |