いやそれもアリだけど>>688の方法でOK

ApplicationオブジェクトがLockの状態の時に
他からさらにLockしようとすればUnlockまで待たされるから、
Application.Lock中にファイルアクセスするようにしておけば
結果的にファイルへの同時アクセスは起こらない。