Я создал сценарий VBA для преобразования документа цитаты из Excel в PDF-файл и последующей отправки его по электронной почте на указанный адрес электронной почты.
В настоящее время сценарий работает и может создать PDF-документ и сохранить его в указанном мною месте, но вторая часть этого документа заключается в создании электронного письма и подготовке его к отправке.работа.
Мне нужно это, чтобы я мог процитировать клиентов, но также сохранить копию цитаты в файле.Я мог бы просто прикрепить данный PDF-файл из файла, но так как он будет использоваться не только мной, я хотел бы удалить этот шаг.
Я пробовал приведенный ниже код, и генерация PDF отлично работает как в этом коде, так и изолированно.Ошибка, которая появляется, является Средой выполнения 1004, которая размещает эту часть кода как содержащую ошибку:
Worksheets("Email").Range("A1:g70").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"S:\PDF Quotes\" & Format(Now, "DDMMYY-") & Worksheets("Email").Range("c12") & ".pdf", OpenAfterPublish:=True
Это несмотря на то, что эта часть работает в изоляции и все еще генерирует PDF.Пожалуйста, смотрите мой полный код ниже:
Sub SetEmailToPDF()
ChDir "S:\PDF Quotes"
Worksheets("Email").Range("A1:g70").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"S:\PDF Quotes\" & Format(Now, "DDMMYY-") & Worksheets("Email").Range("c12") & ".pdf", OpenAfterPublish:=True
Dim OutLookApp As Object
Dim OutLookMailItem As Object
Dim myAttachments As Object
Set OutLookApp = CreateObject("Outlook.application")
Set OutLookMailItem = OutLookApp.CreateItem(0)
Set myAttachements = OutLookMailItem.Attachments
With OutLookMailItem
.To = "test.user@company.com"
.Subject = "Test Quote"
.Body = "this is a test email"
myAttachments.Add "S:\PDF Quotes\" & Format(Now, "DDMMYY-") & Worksheets("Email").Range("c12") & ".pdf"
'.send
.Display
End With
Set OutLookMailItem = Nothing
Set OutLookApp = Nothing
End Sub
Как объяснить, что я ожидаю увидеть в следующем:
1. PDF named 1`20419-companyname.pdf` is created and saved into file `S:\PDF Quotes\`
2. `120419-companyname.pdf` to be picked up and attached to an email in Outlook ready to send to `test.user@company.com`