Lockステートメント 解説(Excel VBA)

Lock ステートメントの解説

概要

「Lock ステートメント」は、VBAでランダムアクセスファイルやバイナリファイルの特定のレコード範囲を一時的にロックするためのステートメントです。

意義

特定のファイルの部分を他のプロセスやユーザーからのアクセスを一時的に制限することで、データの不整合や競合を防ぐことができます。このステートメントは、データベースのような複数のアクセスが予想される状況で特に役立ちます。

構文

Lock [ # ] filenumber, [ recordrange ] . . .

パーツ

filenumber
ロックするファイルを指定するためのファイル番号を示します。
recordrange
ロックするレコードの範囲を示します。

パラメータ

filenumber
必須のパラメータです。
recordrange
オプションのパラメータです。指定しない場合、全てのレコードがロックされます。

サンプルプロシージャ

以下は、ランダムアクセスファイルの特定のレコードをロックするサンプルコードです。

Dim FileNumber As Integer
FileNumber = FreeFile
Open "サンプルファイル.txt" For Random As #FileNumber Len = 100
' レコード3をロック
Lock #FileNumber, 3
' 何らかの処理...
UnLock #FileNumber, 3
Close #FileNumber

関連するステートメントや関数

「UnLock ステートメント」: ランダムアクセスファイルやバイナリファイルの特定のレコード範囲のロックを解除するためのステートメント。

注意事項

ファイルがLock ステートメントでロックされた場合、他のプロセスやユーザーはその部分をアクセス・編集することができません。また、ファイルを閉じると、そのファイルのすべてのレコードのロックが自動的に解除されます。