自动化操作PowerPoint

本文章讲解如何运用vc自动化操作PowerPoint。
主要内容包括:启动、打开、关闭、播放、翻到首页、翻到末叶、翻到上页、翻到下页等。
本代码以PowerPoint 2003为例,其他OFFICE组件及版本方法与此类似。
下面是主要步骤和代码:
1、创建MFC对话框应用程序,在向导的第3步选择automation,其他保持默认即可。
2、在对话框上添加启动、打开、关闭、运行、播放、翻到首页、翻到末叶、翻到上页、翻到下页等按钮及函数。
3、在应用程序的 InitInstance()中初始化OLE,代码如下:
// Initialize OLE libraries
if (!AfxOleInit())
{
    AfxMessageBox("Failed to initialize OLE");
    return FALSE;
}
4、运用类向导添加PowerPoint类型库,类型库默认在"C:/Program Files/Microsoft Office/Office11/"下,文件名为:msppt.olb。
5、在对话框应用程序的头文件中添加:
#include "msppt8.h"
6、在在对话框应用程序的头文件中添加如下变量:
_Application app; 
Presentations Presentations;
_Presentation Presentation;
SlideShowView View;
SlideShowWindow SlideShowWindow;
SlideShowSettings slideshow;
Slides slides; 
_Slide slide;
7、在启动按钮函数中添加如下代码:
void CXXXDlg::OnBtnStart()
{
    // Start PowerPoint and get Application object...
    if(!app.CreateDispatch("Powerpoint.Application"))
    {
        AfxMessageBox("Couldn't start PowerPoint.");
    }
    else // Make PowerPoint visible and display a message
    {
        app.SetVisible(TRUE);
        TRACE("PowerPoint is Running!");
    }
}
8、在打开按钮函数中添加如下代码:
void CXXXDlg::OnBtnOpen()
{
    static char BASED_CODE szFilter[] = "PowerPoint Files (*.ppt)|*.ppt||";
    CFileDialog FileDlg(TRUE,"PPT",NULL,OFN_FILEMUSTEXIST|OFN_NONETWORKBUTTON
                |OFN_PATHMUSTEXIST,szFilter);
    FileDlg.DoModal();

    // To get the selected file's path and name
    CString strFileName;
    strFileName = FileDlg.GetPathName();

    if(!strFileName.IsEmpty())
    {
        Presentations = app.GetPresentations();
        Presentation = Presentations.Open(strFileName,0,0,1);
    }
}
9、在关闭按钮函数中添加如下代码:
void CXXXDlg::OnBtnClose() 
{
    if (CanExit())
        app.Quit();
}
10、在运行按钮函数中添加如下代码:
void CXXXDlg::OnBtnRun() 
{
    Presentations = app.GetActivePresentation();
    slides = Presentation.GetSlides(); 
    // Show the first slide of the presentation
    slide = slides.Item(COleVariant((long)1)); 

    //Run the show
    slideshow = Presentation.GetSlideShowSettings(); 
    slideshow.Run();
}
11、在翻到首页按钮函数中添加如下代码:
void CXXXDlg::OnBtnFirst() 
{
    Presentation = app.GetActivePresentation();
    SlideShowWindow = Presentation.GetSlideShowWindow();
    View = SlideShowWindow.GetView();
    View.First();
}
12、在翻到末叶按钮函数中添加如下代码:
void CXXXDlg::OnBtnLast() 
{
    Presentation = app.GetActivePresentation();
    SlideShowWindow = Presentation.GetSlideShowWindow();
    View = SlideShowWindow.GetView();
    View.Last();

13、在翻到前页按钮函数中添加如下代码:
void CXXXDlg::OnBtnPrevious() 
{
    Presentation = app.GetActivePresentation();
    SlideShowWindow = Presentation.GetSlideShowWindow();
    View = SlideShowWindow.GetView();
    View.Previous();
}
14、在翻到下页按钮函数中添加如下代码:
void CXXXDlg::OnBtnNext() 
{
    Presentation = app.GetActivePresentation();
    SlideShowWindow = Presentation.GetSlideShowWindow();
    View = SlideShowWindow.GetView();
    View.Next();
}
VC6.0对PowerPoint 2003的基本操作及步骤如上,读者可以进行扩展。
如果读者有新看法和新认识希望能和我一起分享。

 

你可能感兴趣的:(powerpoint,application,mfc,office,path,扩展)