VBA Sprawdź, czy plik lub folder istnieje

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.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave