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_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(7402)は、Microsoft Excel 2007、2010、および2013に適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。