Share via

PowerPoint: Can VBA programmatically set "Insert slide from..." location in the re-use slides pane?

Anonymous
2013-07-30T03:24:53+00:00

I'm building a PowerPoint (2010) add-in using VBA.   I want to make it easy for my user to re-use slides from a particular boilerplate presentation they keep on their network. 

I'm successfully using:  Application.CommandBars.ExecuteMso ("SlidesReuseSlides") to invoke the built-in re-use slides pane.  But I'd like to take it one step further and programmatically point to the presentation from which the re-use slides feature will pull. 

In other words, can I use VBA to populate the "Insert slide from..." location?

Thanks!

Microsoft 365 and Office | PowerPoint | For home | Windows

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments

6 answers

Sort by: Most helpful
  1. Anonymous
    2014-07-09T12:57:25+00:00

    Ín order to complete this old Post which, anyway, helped me a lot:

    based on http://code.google.com/p/winreg-kb/wiki/MicrosoftOfficeKeys:

    Item MRU

    Value Data type Description
    %ITEM% Where %ITEM% is a string in the form: "Item [0-9]+"
    HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\File MRUHKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Options\MRUFuncsHKEY_CURRENT_USER\Software\Microsoft\Office\12.0\PowerPoint\File MRUHKEY_CURRENT_USER\Software\Microsoft\Office\12.0\PowerPoint\RecentAnimationList\EntranceMRUHKEY_CURRENT_USER\Software\Microsoft\Office\12.0\PowerPoint\RecentAnimationList\EmphasisMRUHKEY_CURRENT_USER\Software\Microsoft\Office\12.0\PowerPoint\RecentAnimationList\ExitMRUHKEY_CURRENT_USER\Software\Microsoft\Office\12.0\PowerPoint\RecentAnimationList\MotionPathMRUHKEY_CURRENT_USER\Software\Microsoft\Office\12.0\PowerPoint\Slide Libraries\Taskpane MRUHKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\File MRU
    

    Every %ITEM% value contains:

    in Office 12

    [F00000000][T%FILETIME%]*\\%FILENAME%
    

    in Office 14

    [F00000000][T%FILETIME%][O00000000]*%FILENAME%
    

    Where T%FILETIME% contains a FILETIME timestamp as a hexadecimal string (base-16), in upper case, e.g. T01CD10EC460129A0

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments
  2. Anonymous
    2013-07-31T18:09:40+00:00

    I've never fully worked out what the binary code means (which is why I didn't suggest playing with it)

    The F0000000 part tells you whether the file is read only, pinned or both

    F00000000  "Normal"

    F00000001  "Read Only"

    F00000002  "Pinned to list"

    F00000003   "Read Only and Pinned"

    No idea what the rest does but I suspect it may indicate the time it was last used?? Maybe Shyam knows?

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments
  3. Anonymous
    2013-07-31T13:42:05+00:00

    Thanks, Steve and John, for your replies! 

    Yes, I'm that Bryce (curious how you know me since this is my first post here?)

    I like the gallery idea, but need a few pointers.  I have build commands on the ribbon which, for example, scan a directory containing images and present a gallery of thumbnails, so the user can click one and have it inserted into the current slide.  I've also created dialogs to insert slides from boilerplate, but those required creating in advance a collection of thumbnail images representing each slide in the boilerplate deck.   Is there any shortcut you know of that would allow me to skip that step, and "automatically" create or display thumbnails of all the slides in the selected boilerplate deck at runtime?  I'd like the user to be able to change/add to the boilerplate deck between sessions and still have this feature display thumbnails of the current slides.

    I appreciate you help.

    Was this answer helpful?

    0 comments No comments
  4. Anonymous
    2013-07-30T15:47:59+00:00

    As Steve says the Reuse Slides feature is pretty horrible to use and cannot really be controlled from vba.

    I would build a menu or gallery on the ribbon that adds the correct slide at the selection point when the ribbon item is clicked. (I'm assuming you're Bryce from VersatileSolutions and will know how to do this)

    If it was me, despite the advantages of a central boiler plate presentation, I would consider NOT having it on a network as this could be fairly slow in real life use.

    Was this answer helpful?

    0 comments No comments
  5. Steve Rindsberg 99,161 Reputation points MVP Volunteer Moderator
    2013-07-30T14:57:52+00:00

    No, I don't believe so. In fact, you can't even create panes in VBA, much less interact with them.

    On the other hand, you could write an add-in that gives users access to the slides in the boilerplate presentation independent of the Re-use pane (which is something of a "pane" to fine when you need it anyhow)

    Was this answer helpful?

    0 comments No comments