При программировании макросов у вас может возникнуть необходимость определить, существует ли на диске конкретный файл. Например, целью вашего макроса может быть открытие и чтение текстового файла. Перед тем, как сделать это, вы захотите проверить, существует ли файл, чтобы избежать ошибки.

Следующая функция VBA может использоваться для проверки существования файла. Все, что вам нужно сделать, это передать ему полное имя файла в виде строки, и макрос вернет либо True (если файл существует), либо False (если нет).

Function FileThere(FileName As String) As Boolean      FileThere = (Dir(FileName) > "")

End Function

Эта функция работает с помощью функции Dir, которая проверяет наличие файла в каталоге. Если файл существует, Dir возвращает полный путь к файлу. Условие функции True / False получается путем сравнения того, что возвращает Dir, с пустой строкой. Если что-то возвращается, файл существует, потому что Dir не возвращает пустую строку.

Вы можете использовать функцию, подобную следующей:

If FileThere("c:\myfile.txt") Then      '      ' Do stuff here      ' Else      MsgBox "File Not There!"

End If

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (2516) относится к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:

link: / excelribbon-Determining_If_a_File_Exists [Определение, существует ли файл].