У Джона есть столбец номеров invoice на листе. У него есть каталог в сети, в котором сотрудники сохраняют PDF-файл фактического счета-фактуры и называют его тем же номером счета, который указан в рабочем листе. Каждый номер счета-фактуры на листе должен иметь соответствующий PDF-файл в каталоге в сети. Джон ищет способ в Excel проверить и убедиться, что PDF-файл действительно существует для каждого номера счета-фактуры.

Это невозможно сделать с помощью встроенных команд Excel. Однако вы можете создать макрос, который будет выполнять проверку за вас. Например, рассмотрим следующую простую пользовательскую функцию:

Function FileExists1(sPath As String)

FileExists = Dir(sPath) <> ""

End Function

Подпрограмма просто возвращает значение True или False в зависимости от того, существует ли указанный файл. Значение, передаваемое в функцию, должно включать полный путь и имя файла. Например, если спецификация файла (включая путь) находится в ячейке A1, вы можете использовать в ячейке следующее:

=FileExists1(A1)

Однако вы можете не захотеть помещать в ячейку полное имя пути. В этом случае вы можете указать это в фактической формуле следующим образом:

=FileExists1("c:\your\path\here\" & A1 & ".pdf")

Конечно, вместо этого вы можете указать путь в пользовательской функции:

Function FileExists2(sFile As String)

sPath = "c:\your\path\here\" & sFile & ".pdf"

FileExists = Dir(sPath) <> ""

End Function

С помощью такой функции вы можете легко создать формулу на своем листе, которая будет «отмечать» любые счета, отсутствующие в каталоге:

=IF(FileExists2(A1),"","Missing Invoice")

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

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

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

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

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

link: / excelribbon-Checking_for_the_Existence_of_a_File [Проверка существования файла].