public void RunExample() { // start powerpoint PowerPoint.Application powerApplication = new PowerPoint.Application(); // add a new presentation with one new slide PowerPoint.Presentation presentation = powerApplication.Presentations.Add(MsoTriState.msoTrue); PowerPoint.Slide slide = presentation.Slides.Add(1, PpSlideLayout.ppLayoutBlank); // add a chart slide.Shapes.AddOLEObject(120, 111, 480, 320, "MSGraph.Chart", "", MsoTriState.msoFalse, "", 0, "", MsoTriState.msoFalse); // save the document string fileExtension = GetDefaultExtension(powerApplication); string documentFile = string.Format("{0}\\Example05{1}", _hostApplication.RootDirectory, fileExtension); presentation.SaveAs(documentFile); // close power point and dispose reference powerApplication.Quit(); powerApplication.Dispose(); // show dialog for the user(you!) _hostApplication.ShowFinishDialog(null, documentFile); }
public void RunExample() { // start powerpoint PowerPoint.Application powerApplication = new PowerPoint.Application(); // create a utils instance, no need for but helpful to keep the lines of code low CommonUtils utils = new CommonUtils(powerApplication); // add a new presentation with one new slide PowerPoint.Presentation presentation = powerApplication.Presentations.Add(MsoTriState.msoTrue); PowerPoint.Slide slide = presentation.Slides.Add(1, PpSlideLayout.ppLayoutBlank); // add a chart slide.Shapes.AddOLEObject(120, 111, 480, 320, "MSGraph.Chart", "", MsoTriState.msoFalse, "", 0, "", MsoTriState.msoFalse); // save the document string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example05", DocumentFormat.Normal); presentation.SaveAs(documentFile); // close power point and dispose reference powerApplication.Quit(); powerApplication.Dispose(); // show end dialog HostApplication.ShowFinishDialog(null, documentFile); }
public void RunExample() { // start powerpoint PowerPoint.Application powerApplication = new PowerPoint.Application(); // add a new presentation with two new slides PowerPoint.Presentation presentation = powerApplication.Presentations.Add(MsoTriState.msoTrue); PowerPoint.Slide slide1 = presentation.Slides.Add(1, PpSlideLayout.ppLayoutBlank); PowerPoint.Slide slide2 = presentation.Slides.Add(1, PpSlideLayout.ppLayoutBlank); // add shapes slide1.Shapes.AddShape(MsoAutoShapeType.msoShape4pointStar, 100, 100, 200, 200); slide2.Shapes.AddShape(MsoAutoShapeType.msoShapeDoubleWave, 200, 200, 200, 200); // change blend animation slide1.SlideShowTransition.EntryEffect = PpEntryEffect.ppEffectCoverDown; slide1.SlideShowTransition.Speed = PpTransitionSpeed.ppTransitionSpeedFast; slide2.SlideShowTransition.EntryEffect = PpEntryEffect.ppEffectCoverLeftDown; slide2.SlideShowTransition.Speed = PpTransitionSpeed.ppTransitionSpeedFast; // save the document string fileExtension = GetDefaultExtension(powerApplication); string documentFile = string.Format("{0}\\Example04{1}", _hostApplication.RootDirectory, fileExtension); presentation.SaveAs(documentFile); // close power point and dispose reference powerApplication.Quit(); powerApplication.Dispose(); // show dialog for the user(you!) _hostApplication.ShowFinishDialog(null, documentFile); }
public void RunExample() { bool isFailed = false; string documentFile = null; PowerPoint.Application powerApplication = null; try { // start powerpoint powerApplication = COMObject.Create <PowerPoint.Application>(); // create a utils instance, no need for but helpful to keep the lines of code low CommonUtils utils = new CommonUtils(powerApplication); // add a new presentation with one new slide PowerPoint.Presentation presentation = powerApplication.Presentations.Add(MsoTriState.msoTrue); PowerPoint.Slide slide = presentation.Slides.Add(1, PpSlideLayout.ppLayoutBlank); // add new module and insert macro. the option "Trust access to Visual Basic Project" must be set VB.CodeModule module = presentation.VBProject.VBComponents.Add(vbext_ComponentType.vbext_ct_StdModule).CodeModule; string macro = string.Format("Sub NetOfficeTestMacro()\r\n {0}\r\nEnd Sub", "MsgBox \"Thanks for click!\""); module.InsertLines(1, macro); // add button and connect with macro PowerPoint.Shape button = slide.Shapes.AddShape(MsoAutoShapeType.msoShapeActionButtonForwardorNext, 100, 100, 200, 200); button.ActionSettings[PpMouseActivation.ppMouseClick].AnimateAction = MsoTriState.msoTrue; button.ActionSettings[PpMouseActivation.ppMouseClick].Action = PpActionType.ppActionRunMacro; button.ActionSettings[PpMouseActivation.ppMouseClick].Run = "NetOfficeTestMacro"; // save the document documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example03", DocumentFormat.Macros); presentation.SaveAs(documentFile); } catch (System.Runtime.InteropServices.COMException throwedException) { isFailed = true; HostApplication.ShowErrorDialog("VBA Error", throwedException); } finally { // close power point and dispose reference if (powerApplication != null) { powerApplication.Quit(); powerApplication.Dispose(); } if ((null != documentFile) && (!isFailed)) { HostApplication.ShowFinishDialog(null, documentFile); } } }
public void RunExample() { // start powerpoint PowerPoint.Application powerApplication = new PowerPoint.Application(); // add a new presentation with one new slide PowerPoint.Presentation presentation = powerApplication.Presentations.Add(MsoTriState.msoTrue); presentation.Slides.Add(1, PpSlideLayout.ppLayoutClipArtAndVerticalText); // save the document string fileExtension = GetDefaultExtension(powerApplication); string documentFile = string.Format("{0}\\Example01{1}", _hostApplication.RootDirectory, fileExtension); presentation.SaveAs(documentFile); // close power point and dispose reference powerApplication.Quit(); powerApplication.Dispose(); // show dialog for the user(you!) _hostApplication.ShowFinishDialog(null, documentFile); }
public void RunExample() { // start powerpoint PowerPoint.Application powerApplication = new PowerPoint.Application(); // create a utils instance, no need for but helpful to keep the lines of code low CommonUtils utils = new CommonUtils(powerApplication); // add a new presentation with one new slide PowerPoint.Presentation presentation = powerApplication.Presentations.Add(MsoTriState.msoTrue); PowerPoint.Slide slide = presentation.Slides.Add(1, PpSlideLayout.ppLayoutBlank); // add a label PowerPoint.Shape label = slide.Shapes.AddLabel(MsoTextOrientation.msoTextOrientationHorizontal, 10, 10, 600, 20); label.TextFrame.TextRange.Text = "This slide and created Shapes are created by NetOffice example."; // add a line slide.Shapes.AddLine(10, 80, 700, 80); // add a wordart slide.Shapes.AddTextEffect(MsoPresetTextEffect.msoTextEffect9, "This a WordArt", "Arial", 20, MsoTriState.msoTrue, MsoTriState.msoFalse, 10, 150); // add a star slide.Shapes.AddShape(MsoAutoShapeType.msoShape24pointStar, 200, 200, 250, 250); // save the document string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example02", DocumentFormat.Normal); presentation.SaveAs(documentFile); // close power point and dispose reference powerApplication.Quit(); powerApplication.Dispose(); // show end dialog HostApplication.ShowFinishDialog(null, documentFile); }
public void RunExample() { // start powerpoint PowerPoint.Application powerApplication = new PowerPoint.Application(); // add a new presentation with one new slide PowerPoint.Presentation presentation = powerApplication.Presentations.Add(MsoTriState.msoTrue); PowerPoint.Slide slide = presentation.Slides.Add(1, PpSlideLayout.ppLayoutBlank); // add a label PowerPoint.Shape label = slide.Shapes.AddLabel(MsoTextOrientation.msoTextOrientationHorizontal, 10, 10, 600, 20); label.TextFrame.TextRange.Text = "This slide and created Shapes are created by NetOffice example."; // add a line slide.Shapes.AddLine(10, 80, 700, 80); // add a wordart slide.Shapes.AddTextEffect(MsoPresetTextEffect.msoTextEffect9, "This a WordArt", "Arial", 20, MsoTriState.msoTrue, MsoTriState.msoFalse, 10, 150); // add a star slide.Shapes.AddShape(MsoAutoShapeType.msoShape24pointStar, 200, 200, 250, 250); // save the document string fileExtension = GetDefaultExtension(powerApplication); string documentFile = string.Format("{0}\\Example02{1}", _hostApplication.RootDirectory, fileExtension); presentation.SaveAs(documentFile); // close power point and dispose reference powerApplication.Quit(); powerApplication.Dispose(); // show dialog for the user(you!) _hostApplication.ShowFinishDialog(null, documentFile); }
public void RunExample() { // start powerpoint PowerPoint.Application powerApplication = new PowerPoint.Application(); // create a utils instance, no need for but helpful to keep the lines of code low CommonUtils utils = new CommonUtils(powerApplication); // add a new presentation with two new slides PowerPoint.Presentation presentation = powerApplication.Presentations.Add(MsoTriState.msoTrue); PowerPoint.Slide slide1 = presentation.Slides.Add(1, PpSlideLayout.ppLayoutBlank); PowerPoint.Slide slide2 = presentation.Slides.Add(1, PpSlideLayout.ppLayoutBlank); // add shapes slide1.Shapes.AddShape(MsoAutoShapeType.msoShape4pointStar, 100, 100, 200, 200); slide2.Shapes.AddShape(MsoAutoShapeType.msoShapeDoubleWave, 200, 200, 200, 200); // change blend animation slide1.SlideShowTransition.EntryEffect = PpEntryEffect.ppEffectCoverDown; slide1.SlideShowTransition.Speed = PpTransitionSpeed.ppTransitionSpeedFast; slide2.SlideShowTransition.EntryEffect = PpEntryEffect.ppEffectCoverLeftDown; slide2.SlideShowTransition.Speed = PpTransitionSpeed.ppTransitionSpeedFast; // save the document string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example04", DocumentFormat.Normal); presentation.SaveAs(documentFile); // close power point and dispose reference powerApplication.Quit(); powerApplication.Dispose(); // show end dialog HostApplication.ShowFinishDialog(null, documentFile); }
public void RunExample() { // start powerpoint PowerPoint.Application powerApplication = new PowerPoint.Application(); // create a utils instance, no need for but helpful to keep the lines of code low CommonUtils utils = new CommonUtils(powerApplication); // add a new presentation with one new slide PowerPoint.Presentation presentation = powerApplication.Presentations.Add(MsoTriState.msoTrue); presentation.Slides.Add(1, PpSlideLayout.ppLayoutClipArtAndVerticalText); // save the document string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example01", DocumentFormat.Normal); presentation.SaveAs(documentFile); // close power point and dispose reference powerApplication.Quit(); powerApplication.Dispose(); // show end dialog HostApplication.ShowFinishDialog(null, documentFile); }
private void ExecuteEvents(Timeline timeline, TimelineHandler handler) { try { foreach (TimelineEvent timelineEvent in handler.TimeLineEvents) { try { _log.Trace($"PowerPoint event - {timelineEvent}"); WorkingHours.Is(handler); if (timelineEvent.DelayBefore > 0) { Thread.Sleep(timelineEvent.DelayBefore); } if (timeline != null) { var pids = ProcessManager.GetPids(ProcessManager.ProcessNames.PowerPoint).ToList(); if (pids.Count > timeline.TimeLineHandlers.Count(o => o.HandlerType == HandlerType.PowerPoint)) { return; } } PowerPoint.Application powerApplication = new PowerPoint.Application { DisplayAlerts = PpAlertLevel.ppAlertsNone, Visible = MsoTriState.msoTrue }; try { powerApplication.WindowState = PpWindowState.ppWindowMinimized; } catch (Exception e) { _log.Trace($"Could not minimize: {e}"); } // add a new presentation with one new slide PowerPoint.Presentation presentation = powerApplication.Presentations.Add(MsoTriState.msoTrue); presentation.Slides.Add(1, PpSlideLayout.ppLayoutClipArtAndVerticalText); var writeSleep = ProcessManager.Jitter(100); Thread.Sleep(writeSleep); // save the document string rand = RandomFilename.Generate(); string dir = timelineEvent.CommandArgs[0].ToString(); if (dir.Contains("%")) { dir = Environment.ExpandEnvironmentVariables(dir); } if (Directory.Exists(dir)) { Directory.CreateDirectory(dir); } string path = $"{dir}\\{rand}.pptx"; //if directory does not exist, create! _log.Trace($"Checking directory at {path}"); DirectoryInfo f = new FileInfo(path).Directory; if (f == null) { _log.Trace($"Directory does not exist, creating directory at {f.FullName}"); Directory.CreateDirectory(f.FullName); } try { if (File.Exists(path)) { File.Delete(path); } } catch (Exception e) { _log.Debug(e); } Thread.Sleep(5000); presentation.SaveAs(path); FileListing.Add(path); Report(handler.HandlerType.ToString(), timelineEvent.Command, timelineEvent.CommandArgs[0].ToString()); if (timelineEvent.DelayAfter > 0) { //sleep and leave the app open _log.Trace($"Sleep after for {timelineEvent.DelayAfter}"); Thread.Sleep(timelineEvent.DelayAfter - writeSleep); } // close power point and dispose reference powerApplication.Quit(); powerApplication.Dispose(); powerApplication = null; presentation = null; try { Marshal.ReleaseComObject(powerApplication); } catch { } try { Marshal.FinalReleaseComObject(powerApplication); } catch { } GC.Collect(); } catch (Exception e) { _log.Debug(e); } finally { Thread.Sleep(5000); } } } catch (Exception e) { _log.Debug(e); } finally { KillApp(); _log.Trace($"PowerPoint closing..."); } }
private void SavePresentationAs(string exportFullFileName, PowerPoint.Presentation presentation) { presentation.SaveAs(exportFullFileName); this.taskManager.Sleep(WaitAfterSavingMilliseconds); }