Check if file open

Check if file open

SRSDS
Advisor Advisor
1,364 Views
4 Replies
Message 1 of 5

Check if file open

SRSDS
Advisor
Advisor

I need to export data to an excel file but I need to check if the file is already open.

 

Searching the internet I found this but I don't know what "imports" to use to use to enable it. 

    Public Function FileInUse(ByVal sFile As String) As Boolean
        If System.IO.File.Exists(sFile) Then
            Try
                Dim F As Short = FreeFile()
                FileOpen(F, sFile, OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.LockReadWrite)
                FileClose(F)
            Catch
                Return True
            End Try
        End If
    End Function

 

 

0 Likes
Accepted solutions (1)
1,365 Views
4 Replies
Replies (4)
Message 2 of 5

BMcAnney
Advocate
Advocate

Looks like you need to import Microsoft.VisualBasic to get the FileOpen and FileClose functions. You may want to change them to use IO.File.Open and IO.File.Close though, to get away from the old VB syntax.

 

Brent McAnney

0 Likes
Message 3 of 5

Hallex
Advisor
Advisor

I don't know what is the namespaces you use

in your program to work with Excel

Anyway you may want to try this function as well

   'Imports Microsoft.Office.Interop.Excel
    'Imports Excel = Microsoft.Office.Interop.Excel
    Public Function IsExcelFileOpen(xlapp As Microsoft.Office.Interop.Excel.Application, filename As String) As Boolean
        Dim isopen As Boolean = True
        Dim wbook As Microsoft.Office.Interop.Excel.Workbook
        Try
            wbook = xlapp.Workbooks(filename)
        Catch
            isopen = False
        End Try
        Return isopen
    End Function

 

~'J'~

_____________________________________
C6309D9E0751D165D0934D0621DFF27919
0 Likes
Message 4 of 5

SRSDS
Advisor
Advisor

Hi,

I added Imports Microsoft.VisualBasic but it didn't support the problem

 

OpenMode.Binary is the only one it has a problem with it seems.

0 Likes
Message 5 of 5

arcticad
Advisor
Advisor
Accepted solution

Microsoft.VisualBasic.OpenMode.Binary

---------------------------



(defun botsbuildbots() (botsbuildbots))