Проверьте, открыта ли общая рабочая книга другим пользователем - PullRequest
0 голосов
/ 24 августа 2018

Я занимаюсь разработкой программы, в которой некоторые данные сохраняются в файле Excel.Это общий файл, так что каждый может его использовать.Прежде чем открыть файл, я хочу узнать, открыт ли файл для записи другим пользователем.В данный момент я использую код ниже:

    Dim app As New Excel.Application
    Dim book As Excel.Workbook
    Dim sheet As Excel.Worksheet

    If app.Workbooks.CanCheckOut("O:\T_Fiabilidade_QMM6\Recursos\Informáticos\SW Occupation rate\RPRS.xlsx") = True Then
        MsgBox("Available")
    Else
        MsgBox("Não disponível")
    End If
End Sub

Но он всегда возвращает мне сообщение «Não disponível», даже если файл закрыт.Может кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 25 августа 2018

Попробуйте проверить ReadOnly свойство книги,
если это правда, значит, кто-то использует книгу:

Dim app As New Application
Dim book As Workbook
Dim sheet As Worksheet

Public Function IsWokBookInUse() As Boolean
    book = app.Workbooks.Open("")

    If book.ReadOnly = True Then
        MsgBox("the file is in use")
        ' optional: close workbook...'
        book.Close()
        app.Quit()
        Return True
    Else
        MsgBox("o.k")
        Return False
    End If
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...