#vba #outlook #powerpoint
Вопрос:
См.Код ниже в настоящее время работает как PPTX.
Мне нужно, чтобы этот экспорт был в формате PDF, а не в формате PPTX, и мне не везет. Помощь очень признательна! Также не удалось автоматически добавить подпись электронной почты в этот код. Конечно, многие пользователи в конечном итоге будут использовать этот макрос.
Sub EmailFinal()
Dim objActivePresetation As Presentation
Dim objSlide As Slide
Dim n As Long
Dim strName As String
Dim strTempPresetation As String
Dim objTempPresetation As Presentation
Dim objOutlookApp As Object
Dim objMail As Object
Set objActivePresetation = ActivePresentation
For Each objSlide In objActivePresetation.Slides
objSlide.Tags.Delete ("Selected")
Next
'Add a tag "Selected" to the selected slides
For n = 1 To ActiveWindow.Selection.SlideRange.Count
ActiveWindow.Selection.SlideRange(n).Tags.Add "Selected", "YES"
Next n
strName = objActivePresetation.Name
strName = Left(strName, InStrRev(strName, ".") - 1)
strTempPresetation = Environ("TEMP") amp; "" amp; strName amp; ".pptx"
'Copy the active presentation to a temp presentation
objActivePresetation.SaveCopyAs strTempPresetation
Set objTempPresetation = Presentations.Open(strTempPresetation)
'Remove the untagged slides
For n = objTempPresetation.Slides.Count To 1 Step -1
If objTempPresetation.Slides(n).Tags("Selected") <> "YES" Then
objTempPresetation.Slides(n).Delete
End If
Next n
objTempPresetation.Save
objTempPresetation.Close
'Attach the temp presentation to a new email
Set objOutlookApp = CreateObject("Outlook.Application")
Set objMail = objOutlookApp.CreateItem(olMailItem)
'Change the email details as per your needs
With objMail
.To = "insertemailhere"
.Subject = strName
.Body = "Dear Company," amp; vbCr amp; vbCr amp; "Please see attached Plaques.," amp; vbCr amp; "Please let me know if you need any further assistance."
.Attachments.Add strTempPresetation
.Display
End With
End Sub
Спасибо!!
Комментарии:
Ответ №1:
Используйте презентацию.Метод ExportAsFixedFormat.
Вместо objTempPresetation.Save
того, чтобы делать objTempPresetation.ExportAsFixedFormat
и указывать нужные параметры, но, по крайней мере, укажите эти параметры:
objTempPresetation.ExportAsFixedFormat Path:="C:yourpathyourfile.pdf", FixedFormatType:=ppFixedFormatTypePDF
другие параметры являются необязательными.