Я не могу предоставить весь код.Это из внутреннего проекта моей компании.
Я создал код VBA для извлечения элементов из списка Excel и сохранения его в собственной таблице PowerPoint (размеры: 7 строк, 6 столбцов, имя: Table1), которыеуже создан внутри файла шаблона PowerPoint.Код только заполняет его правильными данными в правильных ячейках.
'Example of how I access the native table in PowerPoint
Set oPPTShape = oPPTFile.Slides(SlideNum).Shapes("Table1")
'I can get data from a cell by using, for example:
oPPTShape.Table.Cell(2, 1).Shape.TextFrame.TextRange.Text
'But I cannot select a range from this PowerPoint table
Я хотел бы извлечь эту собственную таблицу из PowerPoint и вставить ее в тело письма Outlook.Я прочитал, что, возможно, я смогу сделать это, используя .HTMLBody = StrBody & RangetoHTML(rng)
внутри OutMail, как описано ниже:
With OutMail
.To = name_email
'Add file
.Attachments.Add ("C:... .pptx")
.Subject = "Data"
.Body = StrBody
.HTMLBody = StrBody & RangetoHTML(rng)
.SaveAs "C:... .msg", 5
.Display 'Or use .Send
End With
Где rng
- это диапазон, который будет скопирован из таблицы Table1 в теле письма.,
До сих пор я мог использовать данные из PowerPoint Table1 с кодом ниже, и я пытался использовать тот же метод, чтобы вставить Table1 в тело письма.
Dim strNewPresPath As String
strNewPresPath = "C:\... .pptx"
Set oPPTApp = CreateObject("PowerPoint.Application")
oPPTApp.Visible = msoTrue
Set oPPTFile = oPPTApp.Presentations.Open(strNewPresPath)
SlideNum = 1
Sheets("Open Tasks").Activate
Dim myStr As String
myStr = "Open"
Do
oPPTFile.Slides(SlideNum).Select
'Select PowerPoint shape with the name Table1
Set oPPTShape = oPPTFile.Slides(SlideNum).Shapes("Table1")
.
.
.
Мой вопрос:
Есть ли другой способ скопировать и вставить эту таблицу Table1 из PowerPoint в тело письма с кодом VBA?
Это может быть изображение или картинка из таблицы или даже не в том же формате, что и в PowerPoint, потому что до сих пор я отправляю его в виде файла вложения и считаю, что его легче читать, когда таблица виднапод текстом написанным в электронном письме.