VBA / Excel - путь к файлу, не прикрепляющий PDF к черновику электронной почты - PullRequest
0 голосов
/ 14 февраля 2020

Целью приведенного ниже кода VBA является создание нескольких черновиков электронных писем, заполненных From, To, CC, Subject, Body, Attachments из файла Excel.

Однако всякий раз, когда я пытаюсь запустить код выдается сообщение об ошибке «Не удается найти вложение, источник данных не найден», хотя при нажатии на ссылку в файле Excel открывается файл PDF, который я намереваюсь прикрепить.

Сетевой файл путь:

\ fake.fake \ Ydrive \ fake \ Finance \ Finance \ IM C Папки \ Счета поставщиков \ Счета и платежи \ AP_Calendar_2020.pdf

Ссылка в ячейке сохранена как ссылка, без цитат. Когда я нажимаю на ссылку, файл открывается. Я заменил идентифицирующую информацию словом «подделка» в приведенном выше тексте.

Я попытался удалить гиперссылку, поместить ссылку в кавычки и провел большой поиск. У меня такое ощущение, что это связано с тем, как VBA интерпретирует путь к сетевому файлу, но я не уверен.

Каковы возможные причины этого и что я могу сделать, чтобы решить эту проблему?

Спасибо за помощь!

Public Sub DraftOutlookEmails()
    'Microsoft Outlook XX.X Object Library is required to run this code
    'Variable declaration
    Dim objOutlook As Outlook.Application
    Dim objMail As Outlook.MailItem
    Dim lCounter As Long

    'Set objects
    Set objOutlook = Outlook.Application
    'Read details from Excel sheet and draft emails
    For lCounter = 6 To 8    'You can change the counter as per requirement
        'Create a new email item
        Set objMail = objOutlook.CreateItem(olMailItem)
        'To
        objMail.To = Sheet1.Range("A" & lCounter).Value
        'Cc
        objMail.CC = Sheet1.Range("B" & lCounter).Value
        'Subject
        objMail.Subject = Sheet1.Range("C" & lCounter).Value
        'Email Body
        objMail.Body = Sheet1.Range("D" & lCounter).Value
        'Add Attachment

        objMail.Attachments.Add Sheet1.Range("F" & lCounter).Value
        'objMail.Attachments.Add (attachment)
        'Draft email
        objMail.Close (olSave)
        'Close the object
        Set objMail = Nothing
    Next
    'Show confirmation message to user
    MsgBox "Done", vbInformation
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...