在VB中怎样判断一个*.CSV文件是否已经被打开。请提供具体方法。

解决方案 »

  1.   

    如果文件比较小,可以先Copy一个Bak,然后再Copy Bak 去覆盖源文件,看是否报错!如果报错,则文件已被打开!
      

  2.   

    还有一个办法:
    Private Function CheckFielIsOpen(Byval strFile As String) as Boolen
        On Error Goto Err1
        Dim lFN As Long
        
        lFN = FreeFile
        Open strFile For Output As #lFN
        Close #lFN
        CheckFielIsOpen=False'文件没有被打开
        Exit Function
    Err1:
        CheckFielIsOpen=True'文件已被打开
    End Function
      

  3.   

    笔误,写程序的习惯造成的!改写为:
    Private Function CheckFielIsOpen(Byval strFile As String) as Boolen
        On Error Goto Err1
        Dim lFN As Long
        
        lFN = FreeFile
        Open strFile For Output As #lFN
        
        CheckFielIsOpen=False'文件没有被打开
        Exit Function
    Err1:
        CheckFielIsOpen=True'文件已被打开
        Close #lFN
    End Function