В настоящее время я могу успешно скопировать диапазон ячеек с сохранением форматирования в тело письма, однако я также хотел бы прикрепить файл XLSX, который отражает то, что отображается в теле письма.Возникли проблемы при передаче файловой переменной между функциями и процедурами электронной почты.
.HTMLBody = "<BODY style=font-size:11pt;font-family:Calibri>Hello " & StaffName & ", <br /> <br /> Reach out if you have any questions/concerns." & vbNewLine & vbNewLine & RangetoHTML(rng)
.Attachments.Add ****VARIABLE FROM Function RangetoHTML****
Function RangetoHTML(rng As Range)
Dim myFileName As String
'Copy the range and create a new workbook to past the data in
rng.Copy
Set tempWB = Workbooks.Add(1)
With tempWB.Sheets(1)
.Cells(1).PasteSpecial Paste:=8
'.Cells(1).PasteSpecial xlPasteAllMergingConditionalFormats, , False, False
.Cells(1).PasteSpecial xlPasteValues, , False, False
.Cells(1).PasteSpecial xlPasteFormats, , False, False
'.Cells(1).PasteSpecial xlPasteAllUsingSourceTheme, , False, False
.Cells(1).Select
ActiveSheet.Range("A:A").ClearContents
ActiveSheet.Range("A:A").ClearFormats
Application.CutCopyMode = False
On Error Resume Next
.DrawingObjects.Visible = True
.DrawingObjects.Delete
On Error GoTo 0
'FOLLOWING THREE LINES SAVE THE FILE THAT NEEDS TO BE PASSED BACK TO OUTMAIL ROUTINE
myFileName = Environ$("temp") & "\" & "File-" & VBA.Format(VBA.Now, "dd-MMM-yyyy hh-mm-ss") & ".xlsx"
ActiveSheet.Copy
.SaveAs Filename:=myFileName, FileFormat:=51, CreateBackup:=False
Я могу сохранить отформатированный файл xlsx, который используется в качестве временного файла для создания HTML-кода, который вставляется в текст сообщения электронной почты.У меня возникают трудности при передаче абсолютного местоположения файла в процедуру, в которой определено вложение электронной почты.