Диалоговое окно запуска VBA Excel для электронной почты Outlook, если вложение не найдено - PullRequest
0 голосов
/ 05 августа 2020

Я хотел бы прикрепить файл при отправке электронного письма Outlook с кодом VBA excel. К сожалению, иногда вложение не соответствует критериям пути, указанным в коде. В этом случае я получаю сообщение об ошибке: Не могу найти этот файл, проверьте правильность пути и имени файла При добавлении файла в качестве вложения в Outlook с помощью VBA, как я могу сделать открыть диалоговое окно папки активное окно?

где я нашел что-то вроде этого:

    If FD.Show = True Then
              For Each vrtSelectedItem In FD.SelectedItems
              .Attachments.Add vrtSelectedItem
                Next
        End If

Затем я реализовал что-то похожее на мой код:

 If Not Filename Like "?_V?" Then
 MsgBox ("The attachment wasn't found. Add it manually.")

 Else
 .Attachments.Add PDFfile


 End If 

Теперь я получаю Msgbox, и это нормально, но я до сих пор не знаю, как вызвать диалоговое окно MS Outlook для выбора вложения.

Вот какое решение: Как открыть Outlook в Excel вложение с использованием Excel VBA, отправленное в определенном временном диапазоне в указанную c папку Outlook?

не принесло мне ответа

Как я могу открыть диалоговое окно Outlook из этапа VBA Excel?

1 Ответ

0 голосов
/ 06 августа 2020

Похоже, что одним из решений является создание оператора If внутри раздела With OutlookMail.

Затем мы должны установить переменную для нашего ручного выбора вложения, где мы используем Application.GetOpenFilename метод в соответствии с предложением ниже.

https://www.mrexcel.com/board/threads/add-attachment-in-vba-macro-by-dialog-box.956227/

Раздел Outlook должен выглядеть следующим образом:

  With OutlookMail
  .BodyFormat = olFormatHTML
  .Display
  .HTMLBody = "The job is done"

  .To = "xxx@xx.co.uk"  
  .CC = "yyy@yyy.co.uk; zzzz@zzz.co.uk;"
  .Subject = Filename & "- Audit"
  If Not Filename Like "?_V?" Then
  MsgBox ("The attachment wasn't found. Add it manually.")
  Dim Attac As Boolean  ' variable for our attachment adding manually
  Attac = Application.GetOpenFilename 
  .Attachments.Add Attac 
  Else
  .Attachments.Add PDFfile
  End If
  End With

В результате наш диалоговое окно добавления вложения открывается с нашим путем к ActiveWorkbook.

Если мы хотим иметь указанное расширение файла, например .pdf , то мы должны уточнить его с помощью метода Application.GetOpenFilename, подобного этому :

     Attac = Application.GetOpenFilename("PDF Files, *.pdf")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...