主要内容包括:启动、打开、关闭、幻灯片播放、首页、末页、上一页、下一页等。
本代码以PowerPoint 2003为例,其他OFFICE组件及版本方法与此类似。

下面是主要步骤和代码:
1、创建MFC对话框应用程序,在向导的第2步选择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 "msppt.h"

6、在在对话框应用程序的头文件中添加如下变量:
_Application app;
Presentations Presentations;
_Presentation Presentation;
SlideShowView View;
SlideShowWindow SlideShowWindow;
SlideShowSettings slideshow;
Slides slides;
_Slide slide;
DocumentWindow documentwindow;
View ActiveView;

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()
{
    documentwindow=app.GetActiveWindow();//获得活动的文档
    documentwindow.Close();//关闭当前活动的文档
    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();
}

15.获得幻灯片总数
void CXXXDlg::OnBtnGetSlidesCount()
{

Presentations=app.GetActivePresentation();

slides=Presentation.GetSlides();

long endpos=slides.GetCount(); //获得幻灯片总数
}

16.获得当前幻灯片序号
void CXXXDlg::OnBtnGetCurrentPosition()
{

Presentation=app.GetActivePresentation();

SlideShowWindow=Presentation.GetSlideShowWindow();

View=SlideShowWindow.GetView();

long Curpos=View.GetCurrentShowPosition();//当前幻灯片序号
}

Visual C++ 6.0 操作PowerPoint 2003相关推荐

  1. 数字类 default 0和 default 0_全方位的数字规划工具Visual Components 4.0 数字化工厂仿真软件...

    Visual Components 是全方位的数字规划工具.无论从制程规划.生产到营销都能够整合在同一个平台上作业,有助于内部的技术沟通及外部营销.此外,Visual Components 整合了物流 ...

  2. 第一章:基于Visual C++ 6.0使用运动控制卡控制电机转动实验操作指导

    第一章:基于Visual C++ 6.0使用运动控制卡控制电机转动实验 文章目录 第一章:基于Visual C++ 6.0使用运动控制卡控制电机转动实验 一.实验目的: 1.学习运动控制卡的使用 2. ...

  3. Win7操作系统下安装Visual C++6.0详细操作手册(亲验有效)

    Win7操作系统下安装Visual C++6.0详细操作手册(亲验有效) 一.所需软件及下载地址: Visual C++6.0(win7适用版) https://download.csdn.net/d ...

  4. CSDN著名技术专家Visual C++2010开发体验心得——从Visual C++6 0到Visual C++201

    IT业是一个创造奇迹的行业,IT业也是一个年轻的行业,IT业更是一个不断更新的行业.在2009年,微软已经连续推出Visual Studio2010 beta1 与 Visual Studio2010 ...

  5. CSDN著名技术专家Visual C++2010开发体验心得——从Visual C++6.0到Visual C++2010见证VC++辉煌时刻

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! IT业是 ...

  6. 使用VB或VC操作Excel 2003

    1.VB操作EXCEL2003 [vb] view plaincopy '*************************************************************** ...

  7. 《Visual C++ 开发从入门到精通》——第1章 Visual C++ 6.0的最初印象1.1 Visual C++ 6.0概述...

    本节书摘来自异步社区出版社<Visual C++ 开发从入门到精通>一书中的第1章,第1.1节,作者: 王东华 , 李樱,更多章节内容可以访问云栖社区"异步社区"公众号 ...

  8. Visual Studio 6.0编译PWLib1.12总结

    Visual Studio 6.0编译PWLib总结 1. 我的环境 Visual Studio 6.0Visual Studio.NET 2010Microsoft Platform SDK for ...

  9. Microsoft Visual C++ 14.0 is required解决方法

    在用python调用别的语言(我用的是cache数据库)的方法时,在执行"python setup3.py install"方法时出现"error: Microsoft ...

最新文章

  1. Python3学习之路
  2. Java 8新特性探究(6):泛型的目标类型推断
  3. 【洛谷 3372】线段树 1
  4. 给WIN7安装盘添加双PE3.0
  5. hibernate防止sql注入对参数赋值传参数的例子
  6. SQL敲了mySQL变了_MySQL-Front肿么导出SQL文件
  7. 【java】我工作三年了,该懂并发了!
  8. 关于CSS 里的_width是什么意思???
  9. jstack处理Java中CPU100%的思路流程
  10. 分布式爬虫搭建系列 之二-----神器PyCharm的安装
  11. Android,iOS打开手机QQ与指定用户聊天界面
  12. 第三方银联支付接口对接_php版银联支付接口开发简明教程
  13. 常用邮箱服务器(SMTP,POP3)地址
  14. 这个开源项目有点强,无需编码,可一键生成前后端代码
  15. 【学习记录】使用多协程和队列,爬取时光网电视剧TOP100的数据
  16. 网络爬虫:乘风破浪的姐姐
  17. 约瑟夫环:设编号为1,2,…n的n个人围坐一圈,约定标号为k的人从1考试报数,数到m的那个人出列,他的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止
  18. leveldb 详解
  19. 视频图像传输与显示(4)——数字电视信号标准ITU-R BT.601和ITU-R BT.656简介
  20. mac perl dbd mysql_perl 链接mysql数据库 mac 系统

热门文章

  1. 关于ASoC中的aux设备及prefix(基于MTK mt6799 平台)
  2. 采访手艺人的花絮视频
  3. php 按键连击,写了一个独立按键 支持组合键、单键长按,连发功能的例子
  4. 一位平安集团16年老员工:怕你胸有鸿鹄之志,手无缚鸡之力
  5. Suricata+ELK集群监控办公网流量
  6. Windows 计算文件MD5值
  7. 关于ABAP批次或生产订单特性值的随记
  8. 程序员们,阿里、腾讯和百度的公司职级、薪资待遇,你有了解吗?
  9. ippbx出现单通故障解决过程总结
  10. 2018年“世界品牌500强”新榜出炉,中国38个品牌入选(附总榜单)