目次:
ビデオ: エクセル VBA 28 他ブック参照 Workbook マクロ 2024
このExcelマクロでは、ファイルが存在するかどうかを評価するファイルパスを渡すことができます。たとえば、PCのどこかでファイルを操作するプロセスがあるとします。たとえば、既存のブックを開いて日単位でデータを追加する必要が生じる場合があります。この場合、操作が必要なファイルが存在するかどうかをテストする必要があります。
マクロの仕組み
このマクロについて最初に気付くのは、それがSubプロシージャではなく関数であることです。このマクロを関数にすると、ファイルパスを渡すことができます。
<! - 1 - >このマクロでは、渡す内容に一致するファイルの名前を表す文字列を返すDir関数を使用します。この関数は多くの方法で使用できますが、ここでは渡すファイルパスが存在するかどうかをチェックするために使用します:
Function FileExists(FPath As String)As Boolean 'ステップ1:変数Dim FName As文字列 '手順2:Dir関数を使用してファイル名を取得するFName = Dir(FPath)'手順3:ファイルが存在する場合はTrueを返します。 Falseの場合False "Then FileExists = True _ Else:FileExists = False End Function
ステップ1は、Dir関数から返されるファイル名を保持するString変数を宣言します。FNameはString変数の名前です。
! - 2 - >ステップ2で、Fath変数を設定しようとします。これは、FPath変数をDir関数に渡すことで行います。このFPath変数は、関数宣言を介して渡されます(この構造では、ファイルパスをハードコードしなくても、変数として渡すことができなくなります。
FName変数を設定できない場合は、渡したパスが存在しないため、FName
<! - 3 - >また、この関数を使用して、渡すファイルパスを評価することができます。
Sub Macro1()FileExists( "C:TempMyNewBook。xlsx")の場合は、この関数を使用する方法を示しています。 )= True Then MsgBox "File exists" Else MsgBox "ファイルが存在しません" End If End Sub
マクロの使い方
このマクロを実装するには、両方のコードをコピーして標準モジュール:
Alt + F11キーを押してVisual Basic Editorをアクティブにします。
-
プロジェクトウィンドウでプロジェクト/ワークブック名を右クリックします。
-
[挿入]→[モジュール]を選択します。
-
新しく作成したモジュールにコードを入力するか貼り付けます。