Проверка/выгрузка рабочих книг Excel из SharePoint с помощью VBA

Вопрос или проблема

Я нашел несколько статей и прошлых вопросов на SO, которые помогают с этим, но я добавил twist. Я нашел способ подключить сетевой диск на своем ПК к папкам SharePoint. Если я открываю книгу, которая в данный момент проверена, я получаю всплывающее окно, чтобы выбрать только для чтения/уведомить/отменить. Но если книга в данный момент не проверена, ничего не позволяет мне ее проверить (когда я открываю ее через подключение диска), чтобы предотвратить изменения другими. Есть ли способ сделать это с помощью VBA?

Вы должны иметь возможность проверить это с помощью метода CanCheckOut

If Workbooks.CanCheckOut(Filename) Then Workbooks.CheckOut (Filename)

KB CanCheckOut

KB CheckOut

Ответ или решение

Проверка и Выдача Excel Книг из SharePoint с Использованием VBA

Ваша задача заключается в том, чтобы проверить и выдать Excel книги из SharePoint, используя VBA, и при этом вам необходимо учитывать, что вы подключаетесь к SharePoint через смонтированный сетевой диск. Это создает некоторые ограничения, поскольку стандартные методы редактирования и проверки отсутствуют при прямом доступе к файлам через сетевые диски. Однако, солидный подход к решению данной задачи включает использование методов CanCheckOut и CheckOut для управления состоянием файлов непосредственно из VBA.

1. Определение файлового пути и подключение к SharePoint

Перед тем, как начать работу с файлами на SharePoint, убедитесь, что у вас есть корректный путь к файлу. Этот путь будет использоваться как аргумент в методах CanCheckOut и CheckOut.

Dim filePath As String
filePath = "\\Ваш_Сетевой_Диск\Путь\К\Вашему\Файлу.xlsx"

2. Проверка доступности для выполнения операции Check Out

Используя метод CanCheckOut, можно определить, можно ли выполнить операцию проверки для указанного файла. Если результат положительный, вы можете затем вызвать метод CheckOut для закрепления файла за собой.

If Workbooks.CanCheckOut(filePath) Then
    Workbooks.CheckOut filePath
    MsgBox "Файл успешно проверен. Теперь вы можете вносить изменения."
Else
    MsgBox "Файл недоступен для проверки. Возможно, он уже проверен другим пользователем."
End If

3. Обработка ситуации, если файл уже проверен другим пользователем

Если файл уже кем-то проверен, необходимо действовать с учетом этого ограничения. Вы можете использовать условные операторы для информирования пользователя о текущем состоянии файла:

Dim isCheckedOut As Boolean
isCheckedOut = False

' Проверка, открыт ли файл
On Error Resume Next
isCheckedOut = Workbooks(OpenFileName).CheckedOut
On Error GoTo 0

If isCheckedOut Then
    MsgBox "Файл уже проверен и заблокирован для редактирования."
Else
    MsgBox "Файл доступен для редактирования."
End If

Заключение

Работа с Excel книгами, находящимися в SharePoint, может быть оптимизирована с помощью использования VBA. Используя методы CanCheckOut и CheckOut, вы обеспечиваете контроль над файлами, что предотвращает потенциальные конфликты редактирования. Это особенно полезно при работе в командах, где несколько пользователей могут пытаться изменить один и тот же файл одновременно.

Для получения более подробной информации вы можете обратиться к официальной документации Microsoft, которая содержит углубленное описание методов и их применения.

При надлежащем использовании этих методов вы сможете эффективно управлять версиями документов и обеспечивать их сохранность в среде SharePoint.

Оцените материал
Добавить комментарий

Капча загружается...