When presenting on a TV or a projector, especially during work meeting, I often haven the presentation on my laptop monitor open in edit mode and in presentation mode on the external screen.

This works great when live editing some points on the same slide that is currently presented (it will automatically udpate) - but as soon as the discussion shows that another slide from the deck or even a new slide is necessary, the navigation hell breaks loose:

Edit view has one slide in view, while the presented presentation is on a completely different slide.

Is there any way to "sync" the two from the editing view? My workarounds so far are:

  • I either alt-tab over to the presentation window, jumping to the correct slide, and then alt-tab back to the edit view, but this messes up the presentation
  • Or I hit "ESC" to close the presentation view, which automatically repositions the edit view to the last presented slide, scroll around in my presentation until I found the slide I was editing last and start the presentation from there again

Both workarounds are manageable, but in complex presentations it often causes me to loose focus. Is there any more direct way for this?


This is really quite simple, especially since you say you want to change a slide that's not currently in view (which can get tricky due to bugs in some PPT versions).

Add this to a VBA module in your presentation. You'll have to save the presentation as PPTM or PPSM rather than PPTX/PPTX. Follow the instrux included as comments:

Option Explicit

' We'll modify slide #4 ... change as needed ' Make sure that the slide has no empty content or picture placeholders on it Const lSlideNum As Long = 4

Sub AddAnImage() ' add a shape to any slide you like ' assign the shape an Action Setting of Run Macro: AddAnImage

Dim oSl As Slide
Dim oSh As Shape

Set oSl = ActivePresentation.Slides(lSlideNum)

' bring in the image; setting width/height to -1 ensures that you
' don't distort it
Set oSh = oSl.Shapes.AddPicture("c:\temp\photo.jpg", msoFalse, msoTrue, 0, 0, -1, -1)

With oSh
    .LockAspectRatio = msoTrue ' to make sure it stays undistorted
    ' change its position/size as you wish
    ' for example, let's make it the full width of the slide:
    .Width = ActivePresentation.PageSetup.SlideWidth
End With

End Sub

Sorry for the bad editing...

Source of answer

  • I did test it and it had seemed to work, using my PC and another monitor I had lying around in the cupboard. – PyxlWuff Sep 2 '15 at 12:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.