private Slide DuplicateSlide(Slide slide) { SlideRange slideRange = slide.Duplicate(); slideRange.MoveTo(slides.Count); return(slides[slides.Count]); }
/// <summary> /// To avoid changing the clipboard during a copy/cut and paste action. /// One solution for this is to save clipboard into a temp slide and revert clipboard afterwards. /// </summary> public static TResult RestoreClipboardAfterAction <TResult>(System.Func <TResult> action, PowerPointPresentation pres, PowerPointSlide origSlide) { TResult result; if (!IsClipboardEmpty()) { // Save clipboard onto a temp slide PowerPointSlide tempClipboardSlide = null; ShapeRange tempClipboardShapes = null; SlideRange tempPastedSlide = null; Logger.Log("RestoreClipboardAfterAction: Trying to paste as slide.", ActionFramework.Common.Logger.LogType.Info); tempPastedSlide = TryPastingAsSlide(pres, origSlide); if (tempPastedSlide == null) { tempClipboardSlide = pres.AddSlide(); Logger.Log("RestoreClipboardAfterAction: Trying to paste as text.", ActionFramework.Common.Logger.LogType.Info); tempClipboardShapes = TryPastingAsText(tempClipboardSlide); } if (CheckIfPastingFailed(tempPastedSlide, tempClipboardShapes)) { Logger.Log("RestoreClipboardAfterAction: Trying to paste as shape.", ActionFramework.Common.Logger.LogType.Info); tempClipboardShapes = TryPastingAsShape(tempClipboardSlide); } if (CheckIfPastingFailed(tempPastedSlide, tempClipboardShapes)) { Logger.Log("RestoreClipboardAfterAction: Trying to paste as PNG picture", ActionFramework.Common.Logger.LogType.Info); tempClipboardShapes = TryPastingAsPNG(tempClipboardSlide); } if (CheckIfPastingFailed(tempPastedSlide, tempClipboardShapes)) { Logger.Log("RestoreClipboardAfterAction: Trying to paste as bitmap picture", ActionFramework.Common.Logger.LogType.Info); tempClipboardShapes = TryPastingAsBitmap(tempClipboardSlide); } if (CheckIfPastingFailed(tempPastedSlide, tempClipboardShapes)) { Logger.Log("RestoreClipboardAfterAction: Trying to paste onto view", ActionFramework.Common.Logger.LogType.Info); tempClipboardShapes = TryPastingOntoView(pres, tempClipboardSlide, origSlide); } result = action(); RestoreClipboard(tempClipboardShapes, tempPastedSlide); if (tempClipboardSlide != null) { tempClipboardSlide.Delete(); } } else { // Clipboard is empty, we can just run the action function result = action(); } return(result); }
private Slide DuplicateSlide(Slide slide, int position) { SlideRange slideRange = slide.Duplicate(); slideRange.MoveTo(position); return(slides[position]); }
static SlideRange CreateSlide(int copyOfIndex) { SlideRange newSlide = objSlides[copyOfIndex].Duplicate(); newSlide.SlideShowTransition.Hidden = MsoTriState.msoFalse; newSlide.Tags.Add("isCreated", "true"); //newSlide.MoveTo(objSlides.Count); return(newSlide); }
SlideNotes[] Extract(string filename) { List <SlideNotes> slideNotes = new List <SlideNotes>(); Application app = new Application(); Presentations presentations = app.Presentations; Presentation presentation = presentations.Open(filename); foreach (Slide slide in presentation.Slides) { if (slide.HasNotesPage != MsoTriState.msoTrue) { continue; } List <string> list = new List <string>(); SlideRange notesPages = slide.NotesPage; foreach (Microsoft.Office.Interop.PowerPoint.Shape shape in notesPages.Shapes) { if (shape.Type == MsoShapeType.msoPlaceholder) { if (shape.PlaceholderFormat.Type == PpPlaceholderType.ppPlaceholderBody) { if (shape.HasTextFrame == MsoTriState.msoTrue) { if (shape.TextFrame.HasText == MsoTriState.msoTrue) { var textRange = shape.TextFrame.TextRange; string[] lines = textRange.Text.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None ); foreach (string line in lines) { if (line.Length > 0) { list.Add(line); } } } } } } } SlideNotes current = new SlideNotes { Name = slide.Name, Notes = list.ToArray(), SlideNumber = slide.SlideNumber, Total = presentation.Slides.Count }; slideNotes.Add(current); } app.Quit(); return(slideNotes.ToArray()); }
} // private void ActOnShape private static void ActOnSelectedText(ActOnPPTText act, Config conf) { logger.ConditionalDebug("ActOnSelectedText"); try { ProgressNotifier.thePN.Start(); if (ColorizationPPT.thisAddIn.Application.Presentations.Count > 0) { ColorizationPPT.thisAddIn.Application.StartNewUndoEntry(); var sel = ColorizationPPT.thisAddIn.Application.ActiveWindow.Selection; if (sel.Type == PpSelectionType.ppSelectionText) { ShapeRange shapeR = sel.ShapeRange; Debug.Assert(shapeR.Count == 1); Shape s = shapeR[1]; SlideRange slideR = sel.SlideRange; Debug.Assert(slideR.Count == 1); act(new PPTText(ColorizationPPT.thisAddIn.Application.ActiveWindow.Selection.TextRange, slideR[1], s.HasTable == Microsoft.Office.Core.MsoTriState.msoTrue, s.Left, s.Top), conf); } else if (sel.Type == PpSelectionType.ppSelectionShapes) { // bool textFound = false; foreach (Shape sh in sel.ShapeRange) { ActOnShape(sh, act, sel.ShapeRange.Count, conf); } // foreach } // else no text selected else if (sel.Type == PpSelectionType.ppSelectionSlides) { foreach (Slide s in sel.SlideRange) { foreach (Shape sh in s.Shapes) { ActOnShape(sh, act, s.Shapes.Count, conf); } } } } ProgressNotifier.thePN.Completed(); } catch (Exception e) { StringBuilder sb = new StringBuilder(); sb.Append("Ouups. Une vilaine erreur s'est produite. Désolé. N'hésitez pas à nous "); sb.AppendLine("envoyer une description de votre problème à [email protected]."); sb.AppendLine(e.Message); sb.AppendLine(e.StackTrace); logger.Error(sb.ToString()); MessageBox.Show(sb.ToString(), ConfigBase.ColorizationName, MessageBoxButtons.OK, MessageBoxIcon.Error); } logger.ConditionalDebug("EXIT ActOnSelectedText"); } // void ColorizeSelectedPhons()
private void OnSlidesChanged(SlideRange sldRange) { if (_powerpointAdapter.HasSlides == false && _hasBar) { // When a user deletes all slides, // we can simulate Remove Event with button btn_Remove_Click(null, null); } Debug.WriteLine("OnSlidesChanged={0}", _powerpointAdapter.VisibleSlides().Count()); // http://social.msdn.microsoft.com/Forums/en-US/22a64e2b-32eb-4eab-930f-f3ca526d9d3b/powerpoint-events-for-adding-a-shape-deleting-a-shape-and-deleting-a-slide?forum=vsto }
private int getLastSelectedIndex(SlideRange range) { int index = -1; foreach (Slide slide in range) { if (slide.SlideIndex > index) { index = slide.SlideIndex; } } return(index); }
/* * Is called whenever a slide in powerpoint is changed. */ private void slideChanged(SlideRange sr) { if (presentation == null) { return; } foreach (Slide sld in sr) { // custom slides were removed if (presentation.Slides.Count < slidescount) { removeCustomSlides(listOfSlideIds, slides); } // custom slides were added if (presentation.Slides.Count > slidescount) { addCustomSlides(slides, listOfSlideIds); } // update all attributes SlideIndex = sld.SlideIndex; SlideId = sld.SlideID; slide = slides[SlideIndex]; slidescount = slides.Count; // TODO: maybe focus just one slide when more slides where added } // aktualisiere den index der verschobenen slides foreach (Slide sld in slides) { // aktualisiere den index der verschobenen slides myRibbon.pptNavigator.updateCustomSlideIndexIfSlideDraggedAndDropped(sld.SlideID, sld.SlideIndex); } // if selectQuestionsFor or evaluateQuestionsForm were open while slides changed, // than update their listviews if (myRibbon.selectQuestionsForm != null) { myRibbon.selectQuestionsForm.updateQuestionsPerSlideListView(); } if (myRibbon.evaluateQuestionsForm != null) { myRibbon.evaluateQuestionsForm.updateListViews(); } myRibbon.updateRibbonQuestionEvaluationCounter(SlideId); checkPushEvaluationOrder(); }
public bool startSlideShow() { if (this.powerpoint == null) { return(false); } if (this.powerpoint.Presentations.Count == 0) { return(false); } stopSlideShow(); if (slides == null) { presentations = powerpoint.Presentations; presentation = presentations._Index(1); if (presentation != null) { slides = presentation.Slides; } } if (slides != null) { int all = slides.Count; int[] SlideIdx = new int[all]; for (int i = 0; i < all; i++) { SlideIdx[i] = i + 1; } slideRange = slides.Range(SlideIdx); slideShowTransition = slideRange.SlideShowTransition; slideShowTransition.AdvanceOnTime = Microsoft.Office.Core.MsoTriState.msoFalse; slideShowTransition.EntryEffect = Microsoft.Office.Interop.PowerPoint.PpEntryEffect.ppEffectBoxOut; //Prevent Office Assistant from displaying alert messages: //dumps if NotFiniteNumberException installed bAssistantOn = powerpoint.Assistant.On; // powerpoint.Assistant.On = false; //Run the Slide show slideShowSettings = presentation.SlideShowSettings; slideShowSettings.StartingSlide = 1; slideShowSettings.EndingSlide = all; slideShowWindow = slideShowSettings.Run(); slideShowWindows = powerpoint.SlideShowWindows; } return(true); }
private void Application_SlideSelectionChanged(SlideRange SldRange) { if (SldRange.Count > 0) { presence.Details = SldRange.Application.ActivePresentation.Name; presence.State = Shared.Shared.getString("editing"); presence.Assets.LargeImageKey = "editing"; presence.Party = new Party() { ID = Secrets.CreateFriendlySecret(new Random()), Max = Application.ActivePresentation.Slides.Count, Size = SldRange[1].SlideNumber }; client.SetPresence(presence); } }
/// <summary> /// To avoid changing the clipboard during a copy/cut and paste action. /// One solution for this is to save clipboard into a temp slide and revert clipboard afterwards. /// </summary> public static void RestoreClipboardAfterAction(System.Action action, PowerPointPresentation pres, PowerPointSlide origSlide) { if (!IsClipboardEmpty()) { // Save clipboard onto a temp slide PowerPointSlide tempClipboardSlide = null; ShapeRange tempClipboardShapes = null; SlideRange tempPastedSlide = null; Shape tempClipboardShape = null; Logger.Log("RestoreClipboardAfterAction: Trying to paste as slide.", ActionFramework.Common.Logger.LogType.Info); tempPastedSlide = TryPastingAsSlide(pres, origSlide); if (tempPastedSlide == null) { tempClipboardSlide = pres.AddSlide(); Logger.Log("RestoreClipboardAfterAction: Trying to paste as text.", ActionFramework.Common.Logger.LogType.Info); tempClipboardShapes = TryPastingAsText(tempClipboardSlide); } if (tempPastedSlide == null && (tempClipboardShapes == null || tempClipboardShapes.Count < 1)) { Logger.Log("RestoreClipboardAfterAction: Trying to paste as shape.", ActionFramework.Common.Logger.LogType.Info); tempClipboardShapes = TryPastingAsShape(tempClipboardSlide); } if (tempPastedSlide == null && (tempClipboardShapes == null || tempClipboardShapes.Count < 1)) { Logger.Log("RestoreClipboardAfterAction: Trying to paste onto current view of the document window.", ActionFramework.Common.Logger.LogType.Info); tempClipboardShape = TryPastingOntoView(pres, tempClipboardSlide, origSlide); } action(); RestoreClipboard(tempClipboardShape, tempClipboardShapes, tempPastedSlide); if (tempClipboardSlide != null) { tempClipboardSlide.Delete(); } } else { // Clipboard is empty, we can just run the action function action(); } }
private static SlideRange TryPastingAsSlide(PowerPointPresentation pres, PowerPointSlide origSlide) { try { // try pasting as slide SlideRange slides = pres.PasteSlide(); // Ensure that the view is at the original slide pres.GotoSlide(origSlide.Index); return((slides.Count >= 1) ? slides : null); } catch (COMException e) { // May be thrown if clipboard is not a slide Logger.LogException(e, "TryPastingAsSlide"); return(null); } }
static void GetTimes(int ID, SlideRange slide) { var query = from times in scheduleTable.AsEnumerable() where times.Field <int>("ID") == ID orderby times.Field <int>("Day"), times.Field <DateTime>("Start") select new { time = CultureInfo.CurrentCulture.DateTimeFormat.DayNames[times.Field <int>("Day") - 1] + " " + times.Field <DateTime>("Start").ToString("h:mm tt") + " — " + times.Field <DateTime>("End").ToString("h:mm tt") + " " + times.Field <string>("Campus") }; string availableTimes = ""; foreach (var q in query) { availableTimes += q.time + "\n"; } WriteToTextbox(slide, "TimesAvailable", availableTimes.TrimEnd('\n')); }
private static ClipboardUtilData SaveClipboardUnsafe(PowerPointPresentation pres, PowerPointSlide origSlide) { PowerPointSlide tempClipboardSlide = null; ShapeRange tempClipboardShapes = null; SlideRange tempPastedSlide = null; tempPastedSlide = TryPastingAsSlide(pres, origSlide); if (tempPastedSlide == null) { tempClipboardSlide = pres.AddSlide(); Logger.Log("RestoreClipboardAfterAction: Trying to paste as text.", ActionFramework.Common.Logger.LogType.Info); tempClipboardShapes = TryPastingAsText(tempClipboardSlide); } if (CheckIfPastingFailed(tempPastedSlide, tempClipboardShapes)) { Logger.Log("RestoreClipboardAfterAction: Trying to paste as shape.", ActionFramework.Common.Logger.LogType.Info); tempClipboardShapes = TryPastingAsShape(tempClipboardSlide); } if (CheckIfPastingFailed(tempPastedSlide, tempClipboardShapes)) { Logger.Log("RestoreClipboardAfterAction: Trying to paste as PNG picture", ActionFramework.Common.Logger.LogType.Info); tempClipboardShapes = TryPastingAsPNG(tempClipboardSlide); } if (CheckIfPastingFailed(tempPastedSlide, tempClipboardShapes)) { Logger.Log("RestoreClipboardAfterAction: Trying to paste as bitmap picture", ActionFramework.Common.Logger.LogType.Info); tempClipboardShapes = TryPastingAsBitmap(tempClipboardSlide); } if (CheckIfPastingFailed(tempPastedSlide, tempClipboardShapes)) { Logger.Log("RestoreClipboardAfterAction: Trying to paste onto view", ActionFramework.Common.Logger.LogType.Info); tempClipboardShapes = TryPastingOntoView(pres, tempClipboardSlide, origSlide); } return(new ClipboardUtilData() { tempClipboardSlide = tempClipboardSlide, tempClipboardShapes = tempClipboardShapes, tempPastedSlide = tempPastedSlide }); }
static void DisplayTutors() { DateTime currentDayTime = DateTime.Now; createdImages.Clear(); var query = from tutor in tutorTable.AsEnumerable() join schedule in scheduleTable on tutor.Field <int>("ID") equals schedule.Field <int>("ID") where (schedule.Field <int>("Day") == (int)currentDayTime.DayOfWeek + 1) && TimeBetween(currentDayTime, schedule.Field <DateTime>("Start").TimeOfDay, schedule.Field <DateTime>("End").TimeOfDay) && (schedule.Field <string>("Campus") == currentCampus || schedule.Field <string>("Campus") == "Online" || currentCampus == "All") select new { TutorID = tutor.Field <int>("ID"), Name = tutor.Field <string>("FirstName") + " " + tutor.Field <string>("LastName") }; int i = objSlides.Count + 1; if (query.Any()) { foreach (var q in query) { SlideRange slide = CreateSlide(tutorsSlide); WriteToTextbox(slide, "TutorName", q.Name); GetSubject(q.TutorID, slide); GetTimes(q.TutorID, slide); string imageName = i.ToString(CultureInfo.CurrentCulture) + "_" + DateTime.Now.ToString("HH-mm-ss") + ".jpg"; slide.Export(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, strImagePath, imageName), "JPG"); i++; createdImages.Add(imageName); } } else { SlideRange slide = CreateSlide(noTutorsSlide); string imageName = DateTime.Now.ToString("HH-mm-ss") + "_" + i.ToString("D2", CultureInfo.CurrentCulture) + ".jpg"; slide.Export(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, strImagePath, imageName), "JPG"); createdImages.Add(imageName); } }
private void isVotePPT(SlideRange sldRange) { if (sldRange.Count > 1 || sldRange.SlideIndex == 0) { _VoteTaskPane.Visible = false; return; } Slide activeSlide = (Slide)Globals.ThisAddIn.Application.ActiveWindow.View.Slide; if (ShapesUitls.IsExistedOfShape(activeSlide, "VoteQuestion")) { _VoteTaskPane.Visible = true; voteTaskPane.load_slide(); } else { _VoteTaskPane.Visible = false; } }
/// <summary> /// 幻灯片监听事件 /// </summary> /// <param name="sldRange"></param> private void isMultipleChoicePPT(SlideRange sldRange) { if (sldRange.Count > 1 || sldRange.SlideIndex == 0) { _MultipleChoiceTaskPane.Visible = false; return; } Slide activeSlide = (Slide)Globals.ThisAddIn.Application.ActiveWindow.View.Slide; if (ShapesUitls.IsExistedOfShape(activeSlide, "questionType") && activeSlide.Shapes["questionType"].TextFrame.TextRange.Text.Equals("1")) { _MultipleChoiceTaskPane.Visible = true; multipleChoiceTaskPane.load_slide(); } else { _MultipleChoiceTaskPane.Visible = false; } }
private void IsSimpleQesttionPPT(SlideRange sldRange) { if (sldRange.Count > 1 || sldRange.SlideIndex == 0) { _SimpleQuestionTaskPane.Visible = false; return; } Slide activeSlide = (Slide)Globals.ThisAddIn.Application.ActiveWindow.View.Slide; if (ShapesUitls.IsExistedOfShape(activeSlide, "SimpleAnswerQuestion")) { _SimpleQuestionTaskPane.Visible = true; simplequestionTaskPane.load_slide(); } else { _SimpleQuestionTaskPane.Visible = false; } }
static void GetSubject(int ID, SlideRange slide) { var query = from sub in subjectTable.AsEnumerable() where sub.Field <int>("ID") == ID select new { subject = sub.Field <string>("TutorSubject") }; string subjects = ""; foreach (var q in query) { subjects += q.subject + "\n"; if (!AllSubjects.Contains(q.subject)) { AllSubjects.Add(q.subject); } } WriteToTextbox(slide, "SubjectsTutored", subjects.TrimEnd('\n')); }
private void OnSlideSelectionChanged(SlideRange slideRange) { this.ribbon.OneArsnovaSlideSelected = false; if (slideRange.Count == 1) { var selectedSlide = slideRange[1]; if (SlideTracker.IsArsnovaSlide(selectedSlide)) { this.ribbon.OneArsnovaSlideSelected = true; } } // update control ui's this.ribbon.RefreshRibbonControl("AddButton"); this.ribbon.RefreshRibbonControl("EditButton"); this.ribbon.RefreshRibbonControl("DeleteButton"); this.ribbon.RefreshRibbonControl("HideButton"); }
/// <summary> /// Tries to restore clipboard with provided SlideRange first, then ShapeRange then finally Shape. /// Note that clipboard cannot be restored if last copied item was a placeholder (for now) /// </summary> /// <returns>True if successfully restored</returns> private static void RestoreClipboard(ShapeRange shapes = null, SlideRange slides = null) { try { if (slides != null) { slides.Copy(); slides.Delete(); } else if (shapes != null && shapes.Count >= 1) { shapes.Copy(); shapes.Delete(); } } catch (COMException e) { // May be thrown when trying to copy Logger.LogException(e, "RestoreClipboard"); } }
public TransitionsViewModel(KynapseePaneModel submodel) { submodel_ = submodel; Gestures = submodel_.Presentation.GetNuiModel(); Methods = new List<TransitionMethod>() { TransitionMethod.NextSlide, TransitionMethod.PreviousSlide, TransitionMethod.TargetSlide }; sr_ = submodel_.SlideRange; set_ = sr_.GetTransitions(submodel_.Presentation, Gestures); Transitions = new ObservableCollection<TransitionItem>(set_.Transitions.Select((x) => new TransitionItem(this, x))); NewTransitionCommand = new RelayCommand(NewTransition); submodel_.PropertyChanged += KynapseePropertyChanged; }
private void work_with_Slides(SlideRange SldRange) { PowerPoint.Presentation currentPresentation = Globals.ThisAddIn.Application.ActivePresentation; float slideWidth = currentPresentation.PageSetup.SlideWidth; foreach (Slide slide in SldRange) { foreach (Shape shape in slide.Shapes) { if (shape.Type == Microsoft.Office.Core.MsoShapeType.msoTextBox) { if ((shape.Left + float.Parse(editBox1.Text, CultureInfo.InvariantCulture) * 1.333f) < slideWidth) { shape.Left += float.Parse(editBox1.Text, CultureInfo.InvariantCulture) * 1.333f; } shape.TextEffect.FontBold = Microsoft.Office.Core.MsoTriState.msoCTrue; shape.TextFrame.TextRange.Font.Color.RGB = System.Drawing.ColorTranslator.ToOle(Color.Red); } } } }
static void DisplayTutors() { DateTime currentDayTime = DateTime.Now; var query = from tutor in tutorTable.AsEnumerable() join schedule in scheduleTable on tutor.Field <int>("ID") equals schedule.Field <int>("ID") where schedule.Field <int>("Day") == (int)currentDayTime.DayOfWeek + 1 && schedule.Field <DateTime>("Start").TimeOfDay <= currentDayTime.TimeOfDay && schedule.Field <DateTime>("End").TimeOfDay >= currentDayTime.TimeOfDay select new { TutorID = tutor.Field <int>("ID"), Name = tutor.Field <string>("FirstName") + " " + tutor.Field <string>("LastName") }; int i = 0; foreach (var q in query) { SlideRange slide = CreateSlide(tutorsSlide); WriteToTextbox(slide, "TutorName", q.Name + i); i++; slide.Export(AppDomain.CurrentDomain.BaseDirectory + "\\Images\\" + (i + 23).ToString(CultureInfo.CurrentCulture), "JPG"); } }
static string WriteToTextbox(SlideRange slide, string textboxName, string inputString) { slide.Shapes[textboxName].TextFrame.TextRange.Text = inputString; return(inputString); }
void KynapseePropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { switch (e.PropertyName) { case "Presentation": if (submodel_.Presentation != null) Gestures = submodel_.Presentation.GetNuiModel(); break; case "SlideRange": sr_ = submodel_.SlideRange; set_ = sr_.GetTransitions(submodel_.Presentation, Gestures); Transitions = new ObservableCollection<TransitionItem>(set_.Transitions.Select((x) => new TransitionItem(this, x))); break; } }
private static void SaveClipboard(PowerPointPresentation pres, PowerPointSlide origSlide, out PowerPointSlide tempClipboardSlide, out ShapeRange tempClipboardShapes, out SlideRange tempPastedSlide) { Logger.Log("RestoreClipboardAfterAction: Trying to paste as slide.", ActionFramework.Common.Logger.LogType.Info); ClipboardUtilData data = PPLClipboard.Instance.LockAndRelease(() => SaveClipboardUnsafe(pres, origSlide)); tempClipboardSlide = data.tempClipboardSlide; tempClipboardShapes = data.tempClipboardShapes; tempPastedSlide = data.tempPastedSlide; }
public void ColorSchemeChanged(SlideRange SldRange) { //this.listBox1.Items.Add("ColorSchemeChanged"); }
public void SlideSelectionChanged(SlideRange SldRange) { //this.listBox1.Items.Add("SlideSelectionChanged"); }
protected override void When() { slideRange = this.slideManager.CloneSlide(this.presentationHandle, slide, Locations.Location.Last); }
private void PptApplication_SlideSelectionChanged(SlideRange SldRange) { logger.Info(">>>PptApplication_SlideShowNextSlide: " + SldRange.SlideIndex); Thread.Sleep(10); }
public bool startSlideShow() { if (this.powerpoint == null) return false; if (this.powerpoint.Presentations.Count == 0) return false; stopSlideShow(); if (slides == null) { presentations = powerpoint.Presentations; presentation = presentations._Index(1); if (presentation != null) { slides = presentation.Slides; } } if (slides != null) { int all = slides.Count; int[] SlideIdx = new int[all]; for (int i = 0; i < all; i++) SlideIdx[i] = i + 1; slideRange = slides.Range(SlideIdx); slideShowTransition = slideRange.SlideShowTransition; slideShowTransition.AdvanceOnTime = Microsoft.Office.Core.MsoTriState.msoFalse; slideShowTransition.EntryEffect = Microsoft.Office.Interop.PowerPoint.PpEntryEffect.ppEffectBoxOut; //Prevent Office Assistant from displaying alert messages: //dumps if NotFiniteNumberException installed bAssistantOn = powerpoint.Assistant.On; // powerpoint.Assistant.On = false; //Run the Slide show slideShowSettings = presentation.SlideShowSettings; slideShowSettings.StartingSlide = 1; slideShowSettings.EndingSlide = all; slideShowWindow = slideShowSettings.Run(); slideShowWindows = powerpoint.SlideShowWindows; } return true; }
void Application_SlideSelectionChanged(SlideRange SldRange) { paneModel_.SlideRange = SldRange; }