John在工作表中有一列http://www.formville.com/C2_free-invoice-forms.html[invoice]数字。他在网络上有一个目录,员工可以在其中保存实际发票的PDF,并使用工作表中的发票编号对其进行命名。工作表中的每个发票编号在网络目录中应有一个相应的名为PDF的文件。 John正在Excel中寻找一种方法来检查并验证每个发票编号是否确实存在PDF。

无法使用内置的Excel命令来执行此操作。但是,您可以创建一个宏来为您做检查。例如,考虑以下简单的用户定义函数:

Function FileExists1(sPath As String)

FileExists1 = 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"

FileExists2 = Dir(sPath) <> ""

End Function

使用这种功能,您可以轻松地在工作表中创建一个公式来“标记”目录中缺少的任何发票:

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

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(7402)适用于Microsoft Excel 2007、2010和2013。您可以在此处为Excel的较早菜单界面找到此技巧的版本: