• Industries
  • Products
  • Buy
  • Services & Support
  • Communities
  • Discussion Groups

    .NET

    Reply
    Distinguished Contributor
    SRSDS
    Posts: 238
    Registered: ‎04-15-2011
    Accepted Solution

    Check if file open

    185 Views, 4 Replies
    03-15-2012 01:36 PM

    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

     

     

    Please use plain text.
    Distinguished Contributor
    Posts: 404
    Registered: ‎12-09-2003

    Re: Check if file open

    03-15-2012 01:42 PM in reply to: SRSDS

    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

    Please use plain text.
    *Expert Elite*
    Hallex
    Posts: 1,371
    Registered: ‎10-08-2008

    Re: Check if file open

    03-15-2012 02:08 PM in reply to: SRSDS

    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
    Please use plain text.
    Distinguished Contributor
    SRSDS
    Posts: 238
    Registered: ‎04-15-2011

    Re: Check if file open

    03-15-2012 02:11 PM in reply to: BMcAnney

    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.

    Please use plain text.
    *Expert Elite*
    arcticad
    Posts: 1,259
    Registered: ‎06-21-2004

    Re: Check if file open

    03-15-2012 02:22 PM in reply to: SRSDS

    Microsoft.VisualBasic.OpenMode.Binary

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



    “We don’t have a snowball’s chance in a blast furnace of surviving this attack unless every one of our units gets into the fight right now!”
    Please use plain text.