VBA Skontrolujte, či existuje súbor alebo priečinok

VBA vám umožňuje skontrolovať, či súbor alebo priečinok existuje, pomocou Dir funkciu.

Pomocou príkazu Dir skontrolujte, či súbor existuje

Ako sme spomenuli v úvode, súbor Dir Táto funkcia nám umožňuje skontrolovať, či v počítači existuje vybratý súbor. Tu je kód:

123456789101112131415 Vedľajší kontrolný súborExistuje ()Dim strFileName ako reťazecDim strFileExists As StringstrFileName = "C: \ Users \ Nikola \ Desktop \ VBA články \ Test File Exists.xlsx"strFileExists = Dir (strFileName)Ak strFileExists = "" PotomMsgBox „Vybratý súbor neexistuje“InakMsgBox „Vybratý súbor existuje“Koniec AkKoniec pod

Premennej sme najskôr priradili cestu k súboru strFileName. Potom použijeme Dir funkcia na získanie názvu súboru do premennej strFileExists. Ak súbor v adresári existuje, jeho názov bude priradený premennej reťazca strFileExists. Ak neexistuje, potom strFileExists zostane prázdne. Nakoniec sa zobrazí okno so správou, ktoré nás informuje, či súbor existuje alebo nie.

Pomocou príkazu Dir skontrolujte, či priečinok existuje

Podobne ako pri kontrole, či súbor existuje, môžete skontrolovať, či priečinok existuje. Stačí pridať jeden argument do súboru Dir príkaz. Pozrime sa na kód:

123456789101112131415 Sub CheckFolderExists ()Dim strFolderName ako reťazecDim strFolderExistuje ako reťazecstrFolderName = "C: \ Users \ Nikola \ Desktop \ Články VBA \ Test priečinka \"strFolderExists = Dir (strFolderName, vbDirectory)Ak strFolderExists = "" PotomMsgBox „Vybratý priečinok neexistuje“InakMsgBox „Vybratý priečinok existuje“Koniec AkKoniec pod

Premennej sme najskôr priradili cestu k priečinku strFolderName. Potom použijeme Dir funkcia na získanie názvu súboru do premennej strFileExists. Aby sme mohli skontrolovať priečinok, musíme do funkcie pridať druhý argument - vbDirecotry. Ak priečinok v adresári existuje, jeho názov bude priradený k premennej strFolderExists. Ak nie strFolderExists zostane prázdne.

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave