ファイルは、Microsoft ExcelでVBAを使用して使用されているかどうかを判断し
以下の関数を使用して、ファイルが別のプロセスによって使用されているかどうかを判別できます。
ファイルへのフルアクセスを取得できない場合、関数はTrueを返します。
Function FileAlreadyOpen(FullFileName As String) As Boolean ' returns True if FullFileName is currently in use by another process ' example: If FileAlreadyOpen("C:\FolderName\FileName.xls") Then... Dim f As Integer f = FreeFile On Error Resume Next Open FullFileName For Binary Access Read Write Lock Read Write As #f Close #f ' If an error occurs, the document is currently open. If Err.Number <> 0 Then FileAlreadyOpen = True Err.Clear 'MsgBox "Error #" & Str(Err.Number) & " - " & Err.Description Else FileAlreadyOpen = False End If On Error GoTo 0 End Function