Results 1 to 9 of 9

Thread: Attaching embedded ppt object to the outlook mail using VBA

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    VBAX Sage
    Joined
    Apr 2007
    Location
    United States
    Posts
    8,886
    Location
    OK -- try this

    This is the PPTM macro, and the 'Send With Outlook' module that is use is in the PPTM

    Slide 2 has an embedded PPTX

    Make sure you put your email address in to test


    Option Explicit
    
    
    Sub ExtractAndSend()
        
        Dim oPres As Presentation
        Dim oSlide As Slide
        Dim oShape As Shape
        Dim sEmbedded As String
        
        Set oPres = ActivePresentation
        For Each oSlide In oPres.Slides
            For Each oShape In oSlide.Shapes
                If oShape.Type = msoEmbeddedOLEObject Then
                        
                    oShape.OLEFormat.DoVerb 2
                        
                    sEmbedded = ActivePresentation.Name
                        
                    DeleteFile oPres.Path & "\" & sEmbedded & ".pptx"
                    
                    ActivePresentation.SaveAs (oPres.Path & "\" & sEmbedded & ".pptx")
                    ActivePresentation.Close
                                
                    If SendWithOutlook("abc@somewhere.com", "Your Embedded File", "As Requested", oPres.Path & "\" & sEmbedded & ".pptx") Then
                        DeleteFile oPres.Path & "\" & sEmbedded & ".pptx"
                        
                        MsgBox "Sent"
                        
                    Else
                        MsgBox "Not Sent"
                    End If
                                
                    Exit Sub
                
                End If
                    
            Next
        Next
    
    
    End Sub
    
    
    Private Sub DeleteFile(s As String)
        On Error Resume Next
        Application.DisplayAlerts = ppAlertsNone
        Kill s
        Application.DisplayAlerts = ppAlertsAll
        On Error GoTo 0
    End Sub
    Attached Files Attached Files
    ---------------------------------------------------------------------------------------------------------------------

    Paul


    Remember: Tell us WHAT you want to do, not HOW you think you want to do it

    1. Use [CODE] ....[/CODE ] Tags for readability
    [CODE]PasteYourCodeHere[/CODE ] -- (or paste your code, select it, click [#] button)
    2. Upload an example
    Go Advanced / Attachments - Manage Attachments / Add Files / Select Files / Select the file(s) / Upload Files / Done
    3. Mark the thread as [Solved] when you have an answer
    Thread Tools (on the top right corner, above the first message)
    4. Read the Forum FAQ, especially the part about cross-posting in other forums
    http://www.vbaexpress.com/forum/faq...._new_faq_item3

  2. #2
    Quote Originally Posted by Paul_Hossler View Post
    OK -- try this

    This is the PPTM macro, and the 'Send With Outlook' module that is use is in the PPTM

    Slide 2 has an embedded PPTX

    Make sure you put your email address in to test


    Option Explicit
    
    
    Sub ExtractAndSend()
        
        Dim oPres As Presentation
        Dim oSlide As Slide
        Dim oShape As Shape
        Dim sEmbedded As String
        
        Set oPres = ActivePresentation
        For Each oSlide In oPres.Slides
            For Each oShape In oSlide.Shapes
                If oShape.Type = msoEmbeddedOLEObject Then
                        
                    oShape.OLEFormat.DoVerb 2
                        
                    sEmbedded = ActivePresentation.Name
                        
                    DeleteFile oPres.Path & "\" & sEmbedded & ".pptx"
                    
                    ActivePresentation.SaveAs (oPres.Path & "\" & sEmbedded & ".pptx")
                    ActivePresentation.Close
                                
                    If SendWithOutlook("abc@somewhere.com", "Your Embedded File", "As Requested", oPres.Path & "\" & sEmbedded & ".pptx") Then
                        DeleteFile oPres.Path & "\" & sEmbedded & ".pptx"
                        
                        MsgBox "Sent"
                        
                    Else
                        MsgBox "Not Sent"
                    End If
                                
                    Exit Sub
                
                End If
                    
            Next
        Next
    
    
    End Sub
    
    
    Private Sub DeleteFile(s As String)
        On Error Resume Next
        Application.DisplayAlerts = ppAlertsNone
        Kill s
        Application.DisplayAlerts = ppAlertsAll
        On Error GoTo 0
    End Sub
    Hello Paul,

    Thanks for the input. I solved this using different method but the way you used to save in a path, helped me to get idea.

    Thanks again for always being there. Marking as solved which can also be helpful to others.

  3. #3
    Quote Originally Posted by CuriosityBug View Post
    Hello Paul,

    Thanks for the input. I solved this using different method but the way you used to save in a path, helped me to get idea.

    Thanks again for always being there. Marking as solved which can also be helpful to others.
    Could I asked how you solved it as none of the solutions above seem to be working for me?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •