How to run PPT inside a web page Frame?

  • Thread starter msnews.microsoft.com
  • Start date
M

msnews.microsoft.com

I would like to run PowerPoint inside the bottom frame of a two frame
frameset. I can create the presentation in VBscript with set App =
createObject("PowerPoint.Application"). Steve Rindsberg had me check to
make sure the show settings were not Kiosk or speaker (full screen) but it
comes up in the PowerPoint Application window and not the frame.

Does anyone know how to keep a PowerPoint presentation inside a frame?

Thanks for any suggestions,

Steve Ricketts
 
S

Steve Rindsberg

I would like to run PowerPoint inside the bottom frame of a two frame
frameset. I can create the presentation in VBscript with set App =
createObject("PowerPoint.Application"). Steve Rindsberg had me check to
make sure the show settings were not Kiosk or speaker (full screen) but it
comes up in the PowerPoint Application window and not the frame.

Does anyone know how to keep a PowerPoint presentation inside a frame?

It happens I was working on this FAQ just recently:

Control how the browser opens PowerPoint files
http://www.rdpslides.com/pptfaq/FAQ00189.htm

It explains how various browser (and Windows Explorer and Registry) settings
can affect what happens when you click on a link to a PPT file in MSIE.

I'm guessing that the same settings would govern what happens in a frame w/in
MSIE as well.
 
M

msnews.microsoft.com

I think the article is referring to just setting the frames source to a PPT
and it opens in the frame. That part works. Unfortunately, what I want to
do is advance the slides from the top frame using Javascript/VBscript. If I
just open the PPT by setting the frames source I don't have any control over
it. That's why I was using createObject("PowerPoint.Application") so I
could access the controls. So I'm faced with two options:

1. set the frame source to the PPT, it opens in the frame, but I can't
control it
2. use createObject, I can control it, but it opens in it's own window

I know it's like wanting a cake and eating it too... but... ;-)

The article you sent looked promising but when using createObject this way,
the PowerPoint show opens in its own window no matter what I set the
BrowserFlags to. So I need to be able to do either one of the following:

1. set the frame source to the PPT and be able to advance slides from the
top frame with a script
2. use createObject and keep the PPT show in the frame.

Man... I hope you're not out of ideas yet!! ;-)

Thanks so much for all your help!

sr
 
S

Steve Rindsberg

I think the article is referring to just setting the frames source to a PPT
and it opens in the frame. That part works. Unfortunately, what I want to
do is advance the slides from the top frame using Javascript/VBscript. If I
just open the PPT by setting the frames source I don't have any control over
it. That's why I was using createObject("PowerPoint.Application") so I
could access the controls. So I'm faced with two options:

1. set the frame source to the PPT, it opens in the frame, but I can't
control it
2. use createObject, I can control it, but it opens in it's own window

I know it's like wanting a cake and eating it too... but... ;-)

The article you sent looked promising but when using createObject this way,
the PowerPoint show opens in its own window no matter what I set the
BrowserFlags to. So I need to be able to do either one of the following:

1. set the frame source to the PPT and be able to advance slides from the
top frame with a script
2. use createObject and keep the PPT show in the frame.

Man... I hope you're not out of ideas yet!! ;-)

Thanks so much for all your help!

No problem. Other than yours. <g> I see what you mean ...

Hmmm. Can you write to files with Javascript? I'm wondering if the PPT file
could include a macro that polls/reads a file for commands to execute.
 
C

Chirag

You should be able to control the ppt that is within a frame. Use the object
model to gain access to the PowerPoint object that is running in the frame.
For instance, the following line:
PPTApp = document.all("PPT1")
would set PPTApp to the object named "PPT1". If you name your ppt object as
"PPT1", then you now have the reference to the running PowerPoint object.

Note that you don't have to do CreateObject().

- Chirag

PowerShow - View multiple PowerPoint slide shows simultaneously
http://officeone.mvps.org/powershow/powershow.html
 
M

msnews.microsoft.com

Unfortunately, the PPT's will be coming from others, not ones I've created.
I actually will have loaded the frameset with an activeX control so I have a
great deal of control over the application... just not the source of the
PPTs. Figures! ;-)

sr
 
S

Steve Rindsberg

Sounds promising... but here's what happened.

I set the frame source to the PowerPoint document

<frame name="header" src=http://myserver.com/test.asp>
<frame name="main" src="http://myserver.com/99slides.ppt">

In "header" frame it can't see parent.main.document at all, it's not an
valid object. Should I be loading the PPT another way?

Speaking from abysmal ignorance of Javascript, I think I see what Chirag's
suggesting. Your "main" frame should be an HTML file that contains script to
create and control a PPT object.
 
M

msnews.microsoft.com

Well, I'm not bad at Javascript but I am lost as far as Chirag's suggestion
goes. I'm not sure how to get the PPT in the Frame as part of the DOM. If
I just set the frame source to the PPT, there is no document object in that
frame. He says I don't need to use createObject("PowerPoint.Application")
but if I can't use the frame's "src" or createObject, I'm not sure how to
get the PPT in the frame otherwise.

Steve
 
S

Steve Rindsberg

Well, I'm not bad at Javascript but I am lost as far as Chirag's suggestion
goes. I'm not sure how to get the PPT in the Frame as part of the DOM. If
I just set the frame source to the PPT, there is no document object in that
frame. He says I don't need to use createObject("PowerPoint.Application")
but if I can't use the frame's "src" or createObject, I'm not sure how to
get the PPT in the frame otherwise.

I was thinking more along the lines of a frame that includes an html file that
has an onload event that triggers a script that triggers a link to the PPT.
(assuming that's possible in javascript ... I suspect it is; MS' own HTML from
PPT seems to do something along that line with its own internal links).

Then depending on the browser settings and a few bits in the registry, the link
should open in the window that triggered it.
 
M

msnews.microsoft.com

You can create an onload event that sets the window.location to the PPT but
that has the same effect as loading it as the frame source... no document
object. I'm trying to figure a way to get the PPT inside the HTML of the
"main" frame but without doing the createObject, I can't seem to find a way.

sr
 
M

msnews.microsoft.com

Can you tell me how to get the PPT into the frame without using the PPT in
frame "src" or using createObject?.. Specifically, how to create the PPT
object without using createObject? I'm coming up short on figuring any
other ways. The problem with using the PPT in the "src" is that there is no
document object to work with.

Many thanks,

sr

'
 
S

Steve Rindsberg

You can create an onload event that sets the window.location to the PPT but
that has the same effect as loading it as the frame source... no document
object. I'm trying to figure a way to get the PPT inside the HTML of the
"main" frame but without doing the createObject, I can't seem to find a way.

Not window.location (whatever it may be) but follow a normal http:// link to
the PPT file.
 
S

Steve Rindsberg

Yeah, doing that doesn't provide you with a document object.

Aw rats. That's right, you want to be able to control the thing as well as
contain it in the browser. 'Scusi ... my other brain cell's on break, it
seems.
 

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