Страницы: 1
RSS
Как отправить по почте открытый файл Excel из One Drive?, Или как обратиться через VBA к файлу из One Drive?
 
Здравствуйте.

Макрос ниже отправляет активный файл по почте. Макрос работает с оффлайн файлами, но не работает с файлами, которые расположены в One Drive.
Код
Sub SendMail()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim cell As Range
     
    Application.ScreenUpdating = False
    Set OutApp = CreateObject("Outlook.Application")
    OutApp.Session.Logon
    On Error GoTo cleanup
    Set OutMail = OutApp.CreateItem(0)
    On Error Resume Next

    With OutMail
        .Attachments.Add ActiveWorkbook.FullName
        .Display
    End With
 
    On Error GoTo 0
    Set OutMail = Nothing
 
cleanup:
    Set OutApp = Nothing
    Application.ScreenUpdating = True
End Sub
Изменено: rud.666 - 01.07.2020 19:38:47
 
Доброе время суток.
Цитата
rud.666 написал:
но не работает с файлами, которые расположены в One Drive.
У меня работает, чем тогда вы докажете своё утверждение?
Цитата
?ActiveWorkbook.FullName
https://d.docs.live.net/21da5607abad8912/Demo/demoPage.xlsx

Закомментируйте все пропуски ошибок. И пошагово пройдетесь, пока не поймаете ошибку, которая не позволяет добавить вложение, а может что-то и другое.
 
На строчке
Код
.Attachments.Add ActiveWorkbook.FullName
возникает такая ошибка (не получилось прикрепить, как картинку)
Пока не получилось решить проблему
Изменено: rud.666 - 01.07.2020 20:18:59
 
Вы, случаем, макрос запускаете не из той же книги, которую вложить пытаетесь? Даже не так: макрос расположен в той же книге или в другой? Какой текст ошибки?
Изменено: Дмитрий(The_Prist) Щербаков - 01.07.2020 20:15:58
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
rud.666, а зачем Вы пишете через 1-2-3 строки? Не нужно так делать.
 
Дмитрий(The_Prist) Щербаков, макрос расположен в той же книге, которую хочу отправить. С оффлайн файлами все работает.
Ссылка на скриншот ошибки: вероятно файл открыт, либо нет разрешения на его открытие
Изменено: rud.666 - 01.07.2020 20:24:35
 
rud.666, судя по ссылке - файл в локальной папке. И OneDrive тут как бы не причём. Просто попробуйте в Double Commander зайти в  папку открыть файл и отправить.
 
Файл в локальной папке, которая синхронизируется с One Drive.
Цитата
Андрей VG написал:
в Double Commander зайти в  папку открыть файл и отправить.
Так и делаю
 
Цитата
rud.666 написал:
макрос расположен в той же книге, которую хочу отправить.
это и является проблемой, т.к. открытую на текущий момент книгу нельзя отправить таким кодом. Встраивайте код в надстройку или перед вложением книги делайте SaveCopyAs, вкладывайте копию и после отправки удаляйте.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх