Я хочу проверить, открыт ли C: \ Data.xlsb или нет.Есть ли способ проверить, открыт ли файл?
Я получил следующий код из здесь How to tell if a certain Excel file is open using VB.NET?
Public Shared Function OpenUnlockedFile(ByVal path As String) As StreamWriter
Dim sw As StreamWriter = nothing
Try
sw = New StreamWriter(path)
Catch ex As IOException When System.Runtime.InteropServices.Marshal.GetLastWin32Error() = 32
REM locked, return nothing
End Try
Return sw
End Function
Но я не знаю, как использовать код, указанный выше.
Я предпочитаю sub вместо функции.
С уважением.
Почему вы предпочитаете Sub над функцией? Функция лучше, если вы хотите проверить, открыт ли файл или нет, поскольку вы можете заставить его возвращать True или False, поэтому вы можете проверить его в 'If'-statement. –
Я бы предложил вам изменить тип возврата на 'Boolean' и вернуть' True' в последней строке вашей функции и вернуть 'False' в блок' Catch'. Я также думаю, что 'FileStream' будет лучше, чем' StreamWriter'. –
@VisualVincent Не могли бы вы вывести код, который вы посоветовали? – Markowitz