VBA pozwala sprawdzić, czy plik lub folder istnieje za pomocą Dir funkcjonować.
Używanie polecenia Dir do sprawdzania, czy plik istnieje
Jak wspomnieliśmy we wstępie, Dir funkcja pozwala nam sprawdzić, czy wybrany plik istnieje na komputerze. Oto kod:
123456789101112131415 | Sub CheckFileExists ()Dim strFileName jako ciągDim strFileExists As StringstrFileName = "C:\Users\Nikola\Desktop\VBA Articles\Test File Exists.xlsx"strFileExists = Dir(strFileName)Jeśli strFileExists = "" WtedyMsgBox "Wybrany plik nie istnieje"W przeciwnym razieMsgBox "Wybrany plik istnieje"Zakończ, jeśliNapis końcowy |
Najpierw przypisaliśmy do zmiennej ścieżkę pliku strNazwaPliku. Następnie używamy Dir funkcja do pobrania nazwy pliku do zmiennej strFileExists. Jeśli plik istnieje w katalogu, jego nazwa zostanie przypisana do zmiennej łańcuchowej strFileExists. Jeśli nie istnieje, to strFileExists pozostanie puste. Na koniec pojawia się okno komunikatu informujące nas, czy plik istnieje, czy nie.
Używanie polecenia Dir do sprawdzania, czy folder istnieje
Podobnie jak w przypadku sprawdzania, czy plik istnieje, możesz sprawdzić, czy folder istnieje. Wystarczy dodać jeden argument do Dir Komenda. Spójrzmy na kod:
123456789101112131415 | Sub CheckFolderIstnieje ()Dim strFolderName jako ciągDim strFolderExists As StringstrFolderName = "C:\Users\Nikola\Desktop\VBA Articles\Test Folder\”strFolderExists = Dir(strFolderName, vbDirectory)Jeśli strFolderExists = "" WtedyMsgBox "Wybrany folder nie istnieje"W przeciwnym razieMsgBox "Wybrany folder istnieje"Zakończ, jeśliNapis końcowy |
Najpierw przypisaliśmy do zmiennej ścieżkę folderu strFolderName. Następnie używamy Dir funkcja do pobrania nazwy pliku do zmiennej strFileExists. Aby sprawdzić folder, musimy dodać drugi argument do funkcji - vbDirectory. Jeśli folder istnieje w katalogu, jego nazwa zostanie przypisana do zmiennej strFolder istnieje. Jeśli nie strFolder istnieje pozostanie puste.