Dynamic Hyperlinks to files in local folder

F

Fromy

My scenario:

I have loads of folders with different presentations sorted on a server, but
they are constantly being updated and new .ppt`s added from a "speaker ready
room".
Each folder represents a location (room) and subfolders represents a speaker
session hosted in that location with several speakers.
Nearly every speaker uses powerpoint.(some use adobe or keynote but that`s a
different story)

My goal is to make the sessions as flowing as possible by having a first
"Session master.pps" slide with nice logo, graphics and hyperlinks to every
..ppt file i the same folder.
Then the speakers only have to open their presentation by clicking the
hyperlink to their presentation, possibly by touchscreen.
This is no problem doing manualy, but time consuming and nearly impossible
to update in time for each session.
I want the hyperlinks to be generated automaticaly, in alphabeticaly order,
as the "master.ppt" file is opened and updated while running when content of
the folder is being updated with, new files, renamed files, deletet files
etc.

Why not take it further and make it hyperlink each session folder first and
then organise the presentations automaticaly.
THAT would be the ultimate solution for me rigth now.

Any help?


-- FROMY --
 
B

Bill Dilworth

I had built one of these for myself (long story), but when I asked several
IT people at meetings, they were of the "we know what we are doing and do
not need anything like that" school. So I shelved it.

There are some basic tricks that will make it look better even running
without this type of Master program.
Use both monitors
Set the projector to the second monitor
Set your desktop background to the show's logo
Set shortcuts to the presenter's PPS files on the edge of the desktop
(in order)


Bill Dilworth
 
F

Fromy

Hi Bill. Thanks for quick reply.

It is sort of what we do today, but I want it to be more userfriendly as
well, and "Dr.MED.MySecretaryMadeThisPowerpointForMe" bullet proof.

How about looking up that shelve. I`m interrested


-- FROMY --
 
F

Fromy

Macros are the solution to this, but my VBA skils are like zero.
I have tried to record a macro to "learn" from it, but it did not get me
anywhere.

Anyone good in VBA programing skills?

--FROMY --
 
C

Chris Watts

This works just great for me - thanks John and Steve. One query though.

It is sometime convenient not to put the presentation into the same folder
as the Agenda presentation but rather to include a shortcut there instead.
[One reason: Presentation itself consists of a root PPT plus a bunch of
interlinked PPT files]. In this case the macro happily picks up the
shortcut as "name.ppt.lnk" On clicking on this you do indeed go to the
presentation but in edit mode and not in presentation mode. Any way around
this?

TIA
cheers
Chris
 
F

Fromy

YES! it works.
Thank guys
I put the "Action Settings, Mouse Click, Run macro, makeagenda" on the
background picture, in the Slide Master.
It now opens with only the background picture, and when i click the pointer
anywhere on the screen, it runs the macro and it all appears.

I made some changes to the macro.
Now it does not make a new slide each time the macro is triggered, but
instead deletes content of frame 2 in slide 1, then it reinserts all links.
Just the way i want it.


Sub makeagenda()
'© Technology Trish Ltd 2008
Dim strFolder As String
Dim strSpec1 As String
Dim strName As String
Dim oTarget As Presentation

' Edit this if necessary:
strFolder = ActivePresentation.Path & "\"
strSpec1 = "*.PP*" ' includes ppt,pptx,pps,ppsx
Set oTarget = ActivePresentation
' oTarget.Slides.Add 1, ppLayoutText
oTarget.Slides(1).Shapes(2).TextFrame.TextRange = ""
oTarget.Slides(1).Shapes(1).TextFrame.TextRange = "Menu"
strName = Dir$(strFolder & strSpec1)
While strName <> ""
With oTarget.Slides(1).Shapes(2).TextFrame.TextRange
With .Lines(.Lines.Count + 1)
..Text = strName & vbCrLf
..Font.Size = 20
With .ActionSettings(ppMouseClick)
..Action = ppActionHyperlink
..Hyperlink.Address = strFolder & strName
End With
End With
End With
strName = Dir()
Wend
End Sub


My next question is then:
How would it be possible to make the header which now shows "Menu" (frame 1)
to show the parent folder name?


-- FROMY --
 
C

Chris Watts

Thanks, Steve.
What you suggest is a good option but...

Some presenter's packages consist of a folder that contains a Root
presentation that calls up lots of others that are in the same folder. I
want just the Root presentation(s) to appear in the Menu. So I was thinking
along the lines of leaving the presenters folder and files untouched but
creating and moving a shortcut into the folder containing the Agenda
presentation.

cheers
Chris


Steve Rindsberg said:
This works just great for me - thanks John and Steve. One query though.

It is sometime convenient not to put the presentation into the same
folder
as the Agenda presentation but rather to include a shortcut there
instead.
[One reason: Presentation itself consists of a root PPT plus a bunch of
interlinked PPT files].

So you don't want to dump everything into a single directory for fear of
overwriting one presenter's files with another's same-named files. Makes
sense.

What if the Agenda pressie were in the main directory and each presenter's
files were in subdirectories of that? Should be able to mod the macro to
look
in each subdir, then look for PPTs within the subdir.

In this case the macro happily picks up the
shortcut as "name.ppt.lnk" On clicking on this you do indeed go to the
presentation but in edit mode and not in presentation mode. Any way
around
this?

TIA
cheers
Chris


==============================
PPT Frequently Asked Questions
http://www.pptfaq.com/

PPTools add-ins for PowerPoint
http://www.pptools.com/
 
C

Chris Watts

Problem solved.
I extracted the link behind the shortcut using a technique described by
Michael L. Canejo
at
http://www.Planet-Source-Code.com/xq/ASP/txtCodeId.44596/lngWId.1/qx/vb/scripts/ShowCode.htm
cheers
Chris

Chris Watts said:
Thanks, Steve.
What you suggest is a good option but...

Some presenter's packages consist of a folder that contains a Root
presentation that calls up lots of others that are in the same folder. I
want just the Root presentation(s) to appear in the Menu. So I was
thinking along the lines of leaving the presenters folder and files
untouched but creating and moving a shortcut into the folder containing
the Agenda presentation.

cheers
Chris


Steve Rindsberg said:
This works just great for me - thanks John and Steve. One query though.

It is sometime convenient not to put the presentation into the same
folder
as the Agenda presentation but rather to include a shortcut there
instead.
[One reason: Presentation itself consists of a root PPT plus a bunch of
interlinked PPT files].

So you don't want to dump everything into a single directory for fear of
overwriting one presenter's files with another's same-named files. Makes
sense.

What if the Agenda pressie were in the main directory and each
presenter's
files were in subdirectories of that? Should be able to mod the macro to
look
in each subdir, then look for PPTs within the subdir.

In this case the macro happily picks up the
shortcut as "name.ppt.lnk" On clicking on this you do indeed go to the
presentation but in edit mode and not in presentation mode. Any way
around
this?

TIA
cheers
Chris

"Agenda Slides With vba"
http://www.pptalchemy.co.uk/powerpoint_hints_and_tips_tutorials.html#vba

Should get you started.

I *thought* you had something like this at the ready.

In this case, I'd changed

strFolder = Environ("USERPROFILE") & "\Desktop\Files\"

to

strFolder = ActivePresentation.Path & "\"


Then you'd just need to put a copy of the pressie in the same folder
as
the already-assembled presentations for the session and roll with it.



==============================
PPT Frequently Asked Questions
http://www.pptfaq.com/

PPTools add-ins for PowerPoint
http://www.pptools.com/


==============================
PPT Frequently Asked Questions
http://www.pptfaq.com/

PPTools add-ins for PowerPoint
http://www.pptools.com/
 
M

msnews.microsoft.com

The link is not valid anymore.

Could you post your VBA code?

-- FROMY --



Chris Watts said:
Problem solved.
I extracted the link behind the shortcut using a technique described by
Michael L. Canejo
at
http://www.Planet-Source-Code.com/xq/ASP/txtCodeId.44596/lngWId.1/qx/vb/scripts/ShowCode.htm
cheers
Chris

Chris Watts said:
Thanks, Steve.
What you suggest is a good option but...

Some presenter's packages consist of a folder that contains a Root
presentation that calls up lots of others that are in the same folder. I
want just the Root presentation(s) to appear in the Menu. So I was
thinking along the lines of leaving the presenters folder and files
untouched but creating and moving a shortcut into the folder containing
the Agenda presentation.

cheers
Chris


Steve Rindsberg said:
This works just great for me - thanks John and Steve. One query
though.

It is sometime convenient not to put the presentation into the same
folder
as the Agenda presentation but rather to include a shortcut there
instead.
[One reason: Presentation itself consists of a root PPT plus a bunch
of
interlinked PPT files].

So you don't want to dump everything into a single directory for fear of
overwriting one presenter's files with another's same-named files.
Makes
sense.

What if the Agenda pressie were in the main directory and each
presenter's
files were in subdirectories of that? Should be able to mod the macro
to
look
in each subdir, then look for PPTs within the subdir.

In this case the macro happily picks up the
shortcut as "name.ppt.lnk" On clicking on this you do indeed go to the
presentation but in edit mode and not in presentation mode. Any way
around
this?

TIA
cheers
Chris

"Agenda Slides With vba"
http://www.pptalchemy.co.uk/powerpoint_hints_and_tips_tutorials.html#vba

Should get you started.

I *thought* you had something like this at the ready.

In this case, I'd changed

strFolder = Environ("USERPROFILE") & "\Desktop\Files\"

to

strFolder = ActivePresentation.Path & "\"


Then you'd just need to put a copy of the pressie in the same folder
as
the already-assembled presentations for the session and roll with it.



==============================
PPT Frequently Asked Questions
http://www.pptfaq.com/

PPTools add-ins for PowerPoint
http://www.pptools.com/



==============================
PPT Frequently Asked Questions
http://www.pptfaq.com/

PPTools add-ins for PowerPoint
http://www.pptools.com/
 
C

Chris Watts

Hi Steve,
I think my first url has a / instead of a ? - mea culpa!
I found that the site let me in unregistered five times then complained!
cheers
Chris

Steve Rindsberg said:
I would gladly do so but the author precludes that:

Dunno what happened before, but the link didn't work for me either.
Dunno what happened this time, but it works. Thanks!

(I didn't need to register or anything ... go figure)
I have just looked again at

http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=44596&lngWId=1
and have no problem accessing it.
I think you may need to register with them (free) to access it.

Googling for "Get Shortcut's target" show the site just fine.
Chris

message
The link is not valid anymore.

Could you post your VBA code?

-- FROMY --



"Chris Watts" <[email protected]> skrev i melding
Problem solved.
I extracted the link behind the shortcut using a technique described
by
Michael L. Canejo
at

http://www.Planet-Source-Code.com/xq/ASP/txtCodeId.44596/lngWId.1/qx/vb/scripts/ShowCode.htm
cheers
Chris

Thanks, Steve.
What you suggest is a good option but...

Some presenter's packages consist of a folder that contains a Root
presentation that calls up lots of others that are in the same

folder. I
want just the Root presentation(s) to appear in the Menu. So I was
thinking along the lines of leaving the presenters folder and files
untouched but creating and moving a shortcut into the folder
containing
the Agenda presentation.

cheers
Chris


This works just great for me - thanks John and Steve. One query
though.

It is sometime convenient not to put the presentation into the
same
folder
as the Agenda presentation but rather to include a shortcut there
instead.
[One reason: Presentation itself consists of a root PPT plus a
bunch
of
interlinked PPT files].

So you don't want to dump everything into a single directory
for
fear of
overwriting one presenter's files with another's same-named files.
Makes
sense.

What if the Agenda pressie were in the main directory and each
presenter's
files were in subdirectories of that? Should be able to mod the
macro
to
look
in each subdir, then look for PPTs within the subdir.

In this case the macro happily picks up the
shortcut as "name.ppt.lnk" On clicking on this you do indeed
go
to the
presentation but in edit mode and not in presentation mode. Any
way
around
this?

TIA
cheers
Chris



with it.


==============================
PPT Frequently Asked Questions
http://www.pptfaq.com/

PPTools add-ins for PowerPoint
http://www.pptools.com/
 
T

Tech OKFH

Old link:
http://www.Planet-Source-Code.com/xq/ASP/txtCodeId.44596/lngWId.1/qx/vb/scripts/ShowCode.htm

New link:
http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=44596&lngWId=1

They are totally different.

-- Fromy --


Chris Watts said:
Hi Steve,
I think my first url has a / instead of a ? - mea culpa!
I found that the site let me in unregistered five times then complained!
cheers
Chris

Steve Rindsberg said:
I would gladly do so but the author precludes that:

Dunno what happened before, but the link didn't work for me either.
Dunno what happened this time, but it works. Thanks!

(I didn't need to register or anything ... go figure)
I have just looked again at

http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=44596&lngWId=1
and have no problem accessing it.
I think you may need to register with them (free) to access it.

Googling for "Get Shortcut's target" show the site just fine.
Chris

message
The link is not valid anymore.

Could you post your VBA code?

-- FROMY --



"Chris Watts" <[email protected]> skrev i melding

Problem solved.
I extracted the link behind the shortcut using a technique
described
by
Michael L. Canejo
at


http://www.Planet-Source-Code.com/xq/ASP/txtCodeId.44596/lngWId.1/qx/vb/scripts/ShowCode.htm
cheers
Chris

Thanks, Steve.
What you suggest is a good option but...

Some presenter's packages consist of a folder that contains a
Root
presentation that calls up lots of others that are in the same

folder. I
want just the Root presentation(s) to appear in the Menu. So I
was
thinking along the lines of leaving the presenters folder and
files
untouched but creating and moving a shortcut into the folder

containing
the Agenda presentation.

cheers
Chris


wrote:
This works just great for me - thanks John and Steve. One
query
though.

It is sometime convenient not to put the presentation into the

same
folder
as the Agenda presentation but rather to include a shortcut
there
instead.
[One reason: Presentation itself consists of a root PPT plus
a
bunch
of
interlinked PPT files].

So you don't want to dump everything into a single directory
for
fear of
overwriting one presenter's files with another's same-named
files.
Makes
sense.

What if the Agenda pressie were in the main directory and each
presenter's
files were in subdirectories of that? Should be able to mod
the
macro
to
look
in each subdir, then look for PPTs within the subdir.

In this case the macro happily picks up the
shortcut as "name.ppt.lnk" On clicking on this you do indeed
go
to the
presentation but in edit mode and not in presentation mode.
Any
way
around
this?

TIA
cheers
Chris

John
Wilson wrote:
"Agenda Slides With vba"


http://www.pptalchemy.co.uk/powerpoint_hints_and_tips_tutorials.html#vba

Should get you started.

I *thought* you had something like this at the ready.

In this case, I'd changed

strFolder = Environ("USERPROFILE") & "\Desktop\Files\"

to

strFolder = ActivePresentation.Path & "\"


Then you'd just need to put a copy of the pressie in the
same
folder
as
the already-assembled presentations for the session and roll

with it.




=========================
=====
PPT Frequently Asked Questions
http://www.pptfaq.com/

PPTools add-ins for PowerPoint
http://www.pptools.com/




=========================
=====
PPT Frequently Asked Questions
http://www.pptfaq.com/

PPTools add-ins for PowerPoint
http://www.pptools.com/


==============================
PPT Frequently Asked Questions
http://www.pptfaq.com/

PPTools add-ins for PowerPoint
http://www.pptools.com/
 
F

Fromy

Here is my improved solution so far.

Any idea how to make a selection of .ppt, .pptx, .ppsx and .pdf files?



Sub makeagenda()

' This VBA Macro generates a heading from the current foldername,
' and a list of hyperlinks to all *.ppt* files in the same folder

Dim strPath As String
Dim ExtAll As String
Dim Ext1 As String
Dim Ext2 As String
Dim Ext3 As String
Dim strName As String
Dim vaArr As Variant

Set oTarget = ActivePresentation

' Full path to folder
strPath = oTarget.Path & "\"

' extracts name of folder
vaArr = Split(oTarget.Path, "\")
folderName = vaArr(UBound(vaArr))

Ext1 = "*.PPT*" ' includes ppt,pptx
Ext2 = "*.PPSX" ' includes ppsx
Ext3 = "*.PDF" ' includes pdf
ExtAll = Ext1 ' I`m working on how to make selections of file extensions

' Clears all text in frames
oTarget.Slides(1).Shapes(1).TextFrame.TextRange = ""
oTarget.Slides(1).Shapes(2).TextFrame.TextRange = ""

' Inserts heading to frame 1
With oTarget.Slides(1).Shapes(1).TextFrame.TextRange
With .Lines(.Lines.Count + 1)
..Text = folderName
End With
End With

' Inserts hyperlinks to frame 2
strName = Dir$(strPath & ExtAll)
While strName <> ""
With oTarget.Slides(1).Shapes(2).TextFrame.TextRange
With .Lines(.Lines.Count + 1)
..Text = strName & vbCrLf
..Font.Size = 20
With .ActionSettings(ppMouseClick)
..Action = ppActionHyperlink
..Hyperlink.Address = strPath & strName
End With
End With
End With

strName = Dir()
Wend
End Sub
Sub DeleteAll()
'
' Deletes all text in Frame 1 and 2
'
Dim oTarget As Presentation
'
Set oTarget = ActivePresentation
oTarget.Slides(1).Shapes(1).TextFrame.TextRange = ""
oTarget.Slides(1).Shapes(2).TextFrame.TextRange = ""

End Sub




-- FROMY --
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top