用于检查文本文件是否打开的VBA脚本

时间:2017-07-21 04:16:04

标签: excel vba excel-vba text

我正在检查文件是否打开是.txt文件

Private Sub CommandButton1_Click()
   Dim strFileName As String
   ' Full path and name of file.
   strFileName = "D:\te.txt"
   ' Call function to test file lock.
   If Not FileLocked(strFileName) Then
   ' If the function returns False, open the document.
      MsgBox "not open"
   Else
      MsgBox "open"
   End If

End Sub

Function FileLocked(strFileName As String) As Boolean
   On Error Resume Next
   ' If the file is already opened by another process,
   ' and the specified type of access is not allowed,
   ' the Open operation fails and an error occurs.
   Open strFileName For Binary Access Read Write Lock Read Write As #1
   Close #1
   ' If an error occurs, the document is currently open.
   If Err.Number <> 0 Then
      ' Display the error number and description.
      MsgBox "Error #" & Str(Err.Number) & " - " & Err.Description
      FileLocked = True
      Err.Clear
   End If
End Function

1 个答案:

答案 0 :(得分:0)

使用记事本打开时,结果是.txt没有锁定文件,因此无法知道.txt文件是否打开。因此,如果在Wordpad或Sakura等中打开该.txt文件,您的代码应该可以工作,或者至少网络中的其他代码应该可以工作。