如题所述
å
æç¡®ä¸éè¦è¾¾å°çç®æ ï¼
1ãå¯ä»¥ä½¿ç¨C#ç¨åºï¼WinFormåWPFï¼æå¼ä¸ä¸ªPPTæ件ï¼å¹¶ä¸å¯ä»¥åæ¢å°å±ç¤ºæ¨¡å¼
2ãå¯ä»¥ç¨åºçæ§å¶PPTçå¨ä½ãä¾å¦ä¸ä¸é¡µä¸ä¸é¡µçã
3ãç¨åºå¯ä»¥è·å¾PPTå±ç¤ºçä¿¡æ¯ãä¾å¦ææ¾å°äºç¬¬å 页ã
4ãå¯ä»¥å°PPTå±ç¤ºççªå£åµå ¥å°èªå·±ççé¢ä¸ã
5ãç¨åºå¯ä»¥è·å¾è¯¥é¡µçææ¡£å 容ãï¼éé¢çé¾æ¥ï¼è§é¢ï¼æåçï¼
0ãåå¤å·¥ä½
é¦å è¦æ·»å
Microsoft.Office.Interop.PowerPoint
office
两个å¼ç¨ï¼å¨å®è£ äºOffice以åä¸è¬æ åµå°±å·²ç»æäºã
声æä¸ä¸æå
è¿æ¯å ä¹éè¦ç¨å°çæææåã
1ãæå¼PPTæ件ï¼å¹¶å±ç¤º
ï¼1ï¼æå¼PPTæ件
objPresSet = objApp.Presentations;
objPres = objPresSet.Open(strTemplate, MsoTriState.msoFalse, MsoTriState.msoTrue, MsoTriState.msoTrue);
ç¨åºè¿è¡è¿ä¸¤å¥ä»¥åï¼Office软件就èªå¨çè¾¾å¼äºã
ï¼2ï¼è¿å ¥å±ç¤ºæ¨¡å¼
å¤å¶ä»£ç
objSlides = objPres.Slides;
int[] SlideIdx = new int[3];
for (int i = 0; i < 3; i++)
SlideIdx[i] = i + 1;
objSldRng = objSlides.Range(SlideIdx);
objSST = objSldRng.SlideShowTransition;
objSST.AdvanceOnTime = MsoTriState.msoTrue; objSST.AdvanceTime = 3;
objSST.EntryEffect = PowerPoint.PpEntryEffect.ppEffectBoxOut;
objSSS = objPres.SlideShowSettings;
//å¦è¿ä½ ä¸æ³å¾ªç¯æ¾æ å°±æTRUEæ¹æFALSE.
objSSS.LoopUntilStopped = MsoTriState.msoFalse;
objSSS.StartingSlide = 1;
objSSS.EndingSlide = objSlides.Application.ActivePresentation.Slides.Count;
objSSS.Run(); //Wait for the slide show to end.
å¤å¶ä»£ç
è¿æ®µä»£ç æ¥æºä¸º ç¶åè¿è¡äºç¨è®¸çä¿®æ¹ã
è¿è¡å°objSSS.Run()åPPTè¿å ¥å°äºææ¾æ¨¡å¼ã
ï¼3ï¼è·åå°PPTå±ç¤ºæ åµçä¿¡æ¯ã
objAppä¸ææä¾äºå¾å¤äºä»¶ï¼ä¾å¦å±ç¤ºå°ä¸ä¸é¡µï¼å±ç¤ºå¼å§ï¼å±ç¤ºç»æçãè¿é举ä¾å¦ä½è·åç°å¨æ£å¨ææ¾ç¬¬å 个页é¢ã
objApp.SlideShowNextSlide += objApp_SlideShowNextSlide;
为objAppçæ»åä¸ä¸é¡µé¢æ·»å äºä»¶å¤çå½æ°ãï¼éè¦æ³¨ææ¯ï¼è¿ä¸ªäºä»¶å¨æ¼ç¤ºçåæ¢é¡µé¢çæ¶å触åï¼æ 论ä»æ¯è¿å ¥ä¸ä¸é¡µè¿æ¯ä¸ä¸é¡µï¼
void objApp_SlideShowNextSlide(PowerPoint.SlideShowWindow Wn)
{
int p = Wn.View.CurrentShowPosition;
textBox1.BeginInvoke(new MethodInvoker(()=>textBox1.Text = p.ToString()));
}
äºä»¶å¤çå½æ°çåæ°æ¯å½åå±ç¤ºç页é¢ãå¯ä»¥è¯»åå°ä¸äºç¸å ³çä¿¡æ¯ï¼ä¾å¦æ£å¨å±ç¤ºç¬¬å 个页é¢ãè¿éè·åå°äºæ£å¨å±ç¤ºé¡µé¢çä½ç½®ï¼å¹¶å°å ¶æ¾ç¤ºå¨çªå£ä¸ã
ï¼4ï¼å°PPTå±ç¤ºççªå£åµå ¥å°èªå·±ççé¢ä¸
å¨äºä»¶å¤çå½æ°ä¸è¿åè¿ä¸ªPPTå±ç¤ºç串å£ï¼Wn.HWDNå°±æ¯ç°å®çªå£çå¥æã
è·å¾äºè¿ä¸ªå¥æ以åå°±å¯ä»¥ä½¿ç¨Windows APIä¸çSetParentå½æ°å°è¿ä¸ªçªå£ç»å°èªå·±ççªå£ä¸æ¥ã
ï¼5ï¼è·åå¶å®é¡µé¢çå 容
æ两个æ¹æ³å¯ä»¥è·å¾å¶å®é¡µé¢çå¶å®å 容ã
ä¸ç§æ¯ä½¿ç¨OpenXML
å¦ä¸ç§æ¯ç»§ç»ä½¿ç¨Officeæä¾çCOMæ¥å£ã
å ·ä½çè·å¾æ¹æ³æå°å¨å¦å¤ä¸ç¯æç« ä¸è¯¦ç»çä»ç»ã
1ãå¯ä»¥ä½¿ç¨C#ç¨åºï¼WinFormåWPFï¼æå¼ä¸ä¸ªPPTæ件ï¼å¹¶ä¸å¯ä»¥åæ¢å°å±ç¤ºæ¨¡å¼
2ãå¯ä»¥ç¨åºçæ§å¶PPTçå¨ä½ãä¾å¦ä¸ä¸é¡µä¸ä¸é¡µçã
3ãç¨åºå¯ä»¥è·å¾PPTå±ç¤ºçä¿¡æ¯ãä¾å¦ææ¾å°äºç¬¬å 页ã
4ãå¯ä»¥å°PPTå±ç¤ºççªå£åµå ¥å°èªå·±ççé¢ä¸ã
5ãç¨åºå¯ä»¥è·å¾è¯¥é¡µçææ¡£å 容ãï¼éé¢çé¾æ¥ï¼è§é¢ï¼æåçï¼
0ãåå¤å·¥ä½
é¦å è¦æ·»å
Microsoft.Office.Interop.PowerPoint
office
两个å¼ç¨ï¼å¨å®è£ äºOffice以åä¸è¬æ åµå°±å·²ç»æäºã
声æä¸ä¸æå
è¿æ¯å ä¹éè¦ç¨å°çæææåã
1ãæå¼PPTæ件ï¼å¹¶å±ç¤º
ï¼1ï¼æå¼PPTæ件
objPresSet = objApp.Presentations;
objPres = objPresSet.Open(strTemplate, MsoTriState.msoFalse, MsoTriState.msoTrue, MsoTriState.msoTrue);
ç¨åºè¿è¡è¿ä¸¤å¥ä»¥åï¼Office软件就èªå¨çè¾¾å¼äºã
ï¼2ï¼è¿å ¥å±ç¤ºæ¨¡å¼
å¤å¶ä»£ç
objSlides = objPres.Slides;
int[] SlideIdx = new int[3];
for (int i = 0; i < 3; i++)
SlideIdx[i] = i + 1;
objSldRng = objSlides.Range(SlideIdx);
objSST = objSldRng.SlideShowTransition;
objSST.AdvanceOnTime = MsoTriState.msoTrue; objSST.AdvanceTime = 3;
objSST.EntryEffect = PowerPoint.PpEntryEffect.ppEffectBoxOut;
objSSS = objPres.SlideShowSettings;
//å¦è¿ä½ ä¸æ³å¾ªç¯æ¾æ å°±æTRUEæ¹æFALSE.
objSSS.LoopUntilStopped = MsoTriState.msoFalse;
objSSS.StartingSlide = 1;
objSSS.EndingSlide = objSlides.Application.ActivePresentation.Slides.Count;
objSSS.Run(); //Wait for the slide show to end.
å¤å¶ä»£ç
è¿æ®µä»£ç æ¥æºä¸º ç¶åè¿è¡äºç¨è®¸çä¿®æ¹ã
è¿è¡å°objSSS.Run()åPPTè¿å ¥å°äºææ¾æ¨¡å¼ã
ï¼3ï¼è·åå°PPTå±ç¤ºæ åµçä¿¡æ¯ã
objAppä¸ææä¾äºå¾å¤äºä»¶ï¼ä¾å¦å±ç¤ºå°ä¸ä¸é¡µï¼å±ç¤ºå¼å§ï¼å±ç¤ºç»æçãè¿é举ä¾å¦ä½è·åç°å¨æ£å¨ææ¾ç¬¬å 个页é¢ã
objApp.SlideShowNextSlide += objApp_SlideShowNextSlide;
为objAppçæ»åä¸ä¸é¡µé¢æ·»å äºä»¶å¤çå½æ°ãï¼éè¦æ³¨ææ¯ï¼è¿ä¸ªäºä»¶å¨æ¼ç¤ºçåæ¢é¡µé¢çæ¶å触åï¼æ 论ä»æ¯è¿å ¥ä¸ä¸é¡µè¿æ¯ä¸ä¸é¡µï¼
void objApp_SlideShowNextSlide(PowerPoint.SlideShowWindow Wn)
{
int p = Wn.View.CurrentShowPosition;
textBox1.BeginInvoke(new MethodInvoker(()=>textBox1.Text = p.ToString()));
}
äºä»¶å¤çå½æ°çåæ°æ¯å½åå±ç¤ºç页é¢ãå¯ä»¥è¯»åå°ä¸äºç¸å ³çä¿¡æ¯ï¼ä¾å¦æ£å¨å±ç¤ºç¬¬å 个页é¢ãè¿éè·åå°äºæ£å¨å±ç¤ºé¡µé¢çä½ç½®ï¼å¹¶å°å ¶æ¾ç¤ºå¨çªå£ä¸ã
ï¼4ï¼å°PPTå±ç¤ºççªå£åµå ¥å°èªå·±ççé¢ä¸
å¨äºä»¶å¤çå½æ°ä¸è¿åè¿ä¸ªPPTå±ç¤ºç串å£ï¼Wn.HWDNå°±æ¯ç°å®çªå£çå¥æã
è·å¾äºè¿ä¸ªå¥æ以åå°±å¯ä»¥ä½¿ç¨Windows APIä¸çSetParentå½æ°å°è¿ä¸ªçªå£ç»å°èªå·±ççªå£ä¸æ¥ã
ï¼5ï¼è·åå¶å®é¡µé¢çå 容
æ两个æ¹æ³å¯ä»¥è·å¾å¶å®é¡µé¢çå¶å®å 容ã
ä¸ç§æ¯ä½¿ç¨OpenXML
å¦ä¸ç§æ¯ç»§ç»ä½¿ç¨Officeæä¾çCOMæ¥å£ã
å ·ä½çè·å¾æ¹æ³æå°å¨å¦å¤ä¸ç¯æç« ä¸è¯¦ç»çä»ç»ã
温馨提示:答案为网友推荐,仅供参考