Estoy automatizando un escenario de Powerpoint usando la interfaz de usuario codificada & VSTO. En mi presentación de PowerPoint, he creado una configuración de 'Acción' en una forma para iniciar el Bloc de notas. Durante la presentación de diapositivas, debo invocar esta acción haciendo clic en "texto/forma" para que se abra notepad.exe. ¿Alguien podría ayudarme a cómo lograr esto? Escribí el siguiente código.¿Cómo invocar una acción durante la presentación de PowerPoint mediante programación?
//To launch Powepoint
PowerPoint.Application objPPT = new PowerPoint.Application();
objPPT.Visible = Office.MsoTriState.msoTrue;
//Add new presentation
PowerPoint.Presentations oPresSet = objPPT.Presentations;
PowerPoint.Presentation oPres = oPresSet.Add(Office.MsoTriState.msoTrue);
//Add a slide
PowerPoint.Slides oSlides = oPres.Slides;
PowerPoint.Slide oSlide = oSlides.Add(1, PowerPoint.PpSlideLayout.ppLayoutTitleOnly);
//Add text
PowerPoint.TextRange tr = oSlide.Shapes[1].TextFrame.TextRange;
tr.Text = "Launch notepad";
tr.Select();
//Add Action settings on the shape
oSlide.Shapes[1].ActionSettings[PowerPoint.PpMouseActivation.ppMouseClick].Action = PowerPoint.PpActionType.ppActionRunProgram;
oSlide.Shapes[1].ActionSettings[PowerPoint.PpMouseActivation.ppMouseClick].Run = "c:\\windows\\notepad.exe";
//start slideshow
objPPT.ActivePresentation.SlideShowSettings.Run();
Esto iniciará la presentación de diapositivas para la presentación y la primera diapositiva 'donde las configuraciones de acción se definen de la forma' será mostrado. Ahora, ¿cómo puedo iniciar notepad.exe automáticamente a través de las API? desafortunadamente, la IU codificada no puede detectar objetos en una diapositiva. Por lo tanto, una opción de clic de mouse en la interfaz de usuario puede no ser posible.
[Editar] Capaz de progresar un poco. Obtuve objeto de forma durante la presentación de diapositivas. Esta es la extensión del código anterior.
PowerPoint.SlideShowWindow oSsWnd = objPPT.ActivePresentation.SlideShowWindow;
PowerPoint.Shape oShape = oSsWnd.View.Slide.Shapes[1];
estoy claro en lo que estás tratando de lograr Si desea crear una presentación, ejecútela en la vista de diapositivas y luego inicie el bloc de notas. ¿Por qué hacerlo a través de PowerPoint? Haga que su código abra el bloc de notas después de haber creado y lanzado el programa PPT. –
Este es un escenario de automatización para verificar que la acción funciona correctamente. Por lo tanto, tengo que hacerlo de esta manera solo – satya
veo. No sé de ninguna manera para automatizar un clic en cualquier forma o punto en particular en la pantalla. –