Страницы: 1
RSS
Макрос для сохранение фала на OneDrive | SharePoint
 
Доброго всем дня,
Задача. Есть фиал CD_DB.xlsm. Сразу после открытия WorkBook должен создать своего клона и сохранить на OneDrive далее работа должна быть продолжена в initial файле (который только что был скоприрован). Пример кода ниже. Данный метод .SaveAsCopy работает если фаил находтся локально на машине. При попытке сохранить в облако выдает ошибку Run-Time error 1004. Application defined or object defined error.
Спасибо всем кто откликнется на помощь.
Код
'CodeLocation >> ThisWorkbook

Private Sub Workbook_Save()
    Dim ThisBook As Workbook
    Dim ws As Worksheet
    Dim copyName As String
    
    Set ThisBook = ThisWorkbook
    Set ws = ThisBook.Worksheets("cover")
    
    'file path connected to named range.
    'filepath5 = "https://xxx.sharepoint.com/personal/user_xxx/Documents/CA%20CZ%20Handover/Macro%20preparation/CA%20Tool/Archiving/CA_DB%20Backup%20210521133611.xlsm"
    
    copyName = ws.Range("filepath5") 
        
    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
            If ThisBook.Name <> "CA_DB.xlsm" Then
                Exit Sub
                Else       
                ThisWorkbook.SaveCopyAs copyName
                ActiveWorkbook.Save
            End If
        .DisplayAlerts = True
        .ScreenUpdating = True
    End With
    MsgBox "Backup for [CA_DB yyyy-mm-dd hhmmss.xlsm] has been created."
End Sub
 
Alex D, здравствуйте.
Что вам мешает использовать OneDrive как диск/папку и работать с вашими файлами по стандартным путям?
Есть еще момент - доступ по UNC путям, у кого-то они работают, у кого-то нет.
Проверьте у себя ссылки(открывать как обычный путь к папке): \\xxx.sharepoint.com\personal\user_xxx\Documents\ или \\xxx.sharepoint.com@SSL\personal\user_xxx\Documents\ или \\xxx.sharepoint.com@SSL\DavWWWRoot\personal\user_xxx\Documents\
Изменено: Oleg Boyaroff - 22.05.2021 13:02:49
 
Oleg Boyaroff, не нужно писать через строку.
Страницы: 1
Наверх