首    页 界面/窗口 网络/通讯 数据库 组件开发 图像/多媒体 NET/Web 其它技术 源码下载 资料下载 软件共享 软件外包 曲艺杂谈
栏目导航:  首    页  |  组件开发  |  Office组件   


VC操作PowerPoint


原作者:不详    源出处:codeproject    发布者:施昌权    发布类型:翻译    发布日期:2008-08-29


               
        本文章讲解如何运用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的基本操作及步骤如上,读者可以进行扩展。
        如果读者有新看法和新认识希望能和我一起分享。


关于我们 版权声明 广告服务 联系我们 友情链接 加入收藏
站长:施昌权    Email:scq2099yt@163.com    MSN:scq2099yt@live.cn    QQ:14046300    本站QQ群:67202409
Copyright © 2008     卓为VC(www.joyvc.cn)    All Rights Reserved    建议分辨率 1024×768
本站由施昌权制作维护
京ICP备09012297号