.net - C# - Show PowerPoint Presentations continous -
i want play ppt
files in continuous loop, when open new file after first has reached last slide, new powerpoint window opens , starts slide. how can solve problem?
public microsoft.office.interop.powerpoint.slideshowwindow startppt(string pptdatei) { watchinglabel.text = "präsentation läuft..."; started = true; ende = false; objpres = ppapp.presentations.open(pptdatei, microsoft.office.core.msotristate.msofalse, microsoft.office.core.msotristate.msotrue, microsoft.office.core.msotristate.msotrue); objpres.slideshowsettings.showwithanimation = microsoft.office.core.msotristate.msotrue; preswin = objpres.slideshowsettings.run(); return preswin; } private void timer1_tick(object sender, eventargs e) { watchinglabel.text = "watching..."; if (system.io.directory.exists(ordner)) { pptdatei.clear(); pptdatei.addrange(system.io.directory.getfiles(ordner, "*.ppt")); if (started == true && preswin.view.state == microsoft.office.interop.powerpoint.ppslideshowstate.ppslideshowdone) { objpres.close(); ende = true; started = false; } if (pptdatei.count > 0 && ende && started == false) { if (index < pptdatei.count) { startppt(pptdatei[index]); index += 1; } else { index = 0; } } else if (pptdatei.count > 0 && ende == false && started == true) { preswin.view.next(); } } } public void ppapp_presentationclose(microsoft.office.interop.powerpoint.presentation pres) { pptdatei = new list<string>(); started = false; ende = true; watchinglabel.text = "präsentation beenden..."; } public void ppapp_slideshowend(microsoft.office.interop.powerpoint.presentation pres) { ende = true; started = false; }
unfortunately, no, can't multiple powerpoint files. prior powerpoint 2010, cannot have more 1 ppt running @ same time (and pp2010 it's wonky so). shutting 1 down , opening new 1 run, lose main run window.
you create multiple powerpoint instance, set them visible/hidden , when 1 slideshow ends, programmatically unhide next 1 , display run, suffer same flicker issue have.
the best can read ppts in directory, merge them new deck in order need (and specifying layouts, etc.) , run single deck in kiosk-loop.
Comments
Post a Comment