Advertisement

05.19.2008 at 10:19AM PDT, ID: 23414450
[x]
Attachment Details

Excel VBA open specific PowerPoint file

Asked by murbro in Microsoft Powerpoint Presentation Software, Microsoft Excel Spreadsheet Software

Hi
I am using the following code to paste to PowerPoint.
If the user specifies a file path and name in the text box txtFilePath
then I want to paste to that range. How would I alter the code to achieve this


Sub Paste_to_PowerPoint(ByVal blnPasteChartLink As Boolean)
     On Error GoTo EH
     
     'Requires a reference to the Microsoft PowerPoint Library via the Tools - Reference menu in the VBE
    Dim PPApp As PowerPoint.Application
    Dim PPSlide As PowerPoint.Slide
         
    AddSlidesToEnd = True
         
     'Look for existing instance
    On Error Resume Next
    Set PPApp = GetObject(, "PowerPoint.Application")
    On Error GoTo 0 'Disables enabled error handler in the current procedure and resets it to Nothing.
     
     'Create new instance if no instance exists
    If PPApp Is Nothing Then Set PPApp = New PowerPoint.Application
     'Add a presentation if none exists
    If PPApp.Presentations.Count = 0 Then PPApp.Presentations.Add
     
     'Make the instance visible
    PPApp.Visible = True
     
     'Check that a slide exits, if it doesn't add 1 slide. Else use the last slide for the paste operation
    If PPApp.ActivePresentation.Slides.Count = 0 Then
        Set PPSlide = PPApp.ActivePresentation.Slides.Add(1, ppLayoutBlank)
    Else
        If AddSlidesToEnd Then
             'Appends slides to end of presentation and makes last slide active
            PPApp.ActivePresentation.Slides.Add PPApp.ActivePresentation.Slides.Count + 1, ppLayoutBlank
            PPApp.ActiveWindow.View.GotoSlide PPApp.ActivePresentation.Slides.Count
            Set PPSlide = PPApp.ActivePresentation.Slides(PPApp.ActivePresentation.Slides.Count)
        Else
             'Sets current slide to active slide
            Set PPSlide = PPApp.ActiveWindow.View.Slide
        End If
    End If

        If blnPasteChartLink = True Then
             'Copy & Paste   Linked
            PPSlide.Shapes.PasteSpecial(link:=True).Select
        Else
             'Copy & Paste  Not Linked
            PPSlide.Shapes.Paste.Select
        End If
 
 
 
     'Center pasted object in the slide
    PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
    PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True
     
    AppActivate ("Microsoft PowerPoint")
    Set PPSlide = Nothing
    Set PPApp = Nothing
     Exit Sub
EH:
    MsgBox "There was a problem pasting to PowerPoint"
   
End SubStart Free Trial
[+][-]05.19.2008 at 11:38AM PDT, ID: 21600360

View this solution now by starting your 7-day free trial. Setting up your free trial is quick, easy, and secure. We will return you to this solution, unlocked, when you're done.

 

About this solution

Zones: Microsoft Powerpoint Presentation Software, Microsoft Excel Spreadsheet Software
Sign Up Now!
Solution Provided By: nutsch
Participating Experts: 1
Solution Grade: A
 
 
 
Loading Advertisement...
20080716-EE-VQP-32 / EE_QW_2_20070628