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
Solved! Go to Solution.
Solved! by arcticad. See the answer in context.
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.
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
Access a broad range of knowledge to help get the most out of your products and services.
Start with some of our most frequented solutions or visit the Installation and Licensing Forum to get help installing your software.
Upgrading to a 2015 product? Make sure to check these out 1st!