VC6.0操作PowerPoint

File>New选择MFC AppWizard,项目名:PPT

MFC AppWizard – Step1

Step2中选择Automation(这一步很关键,向导会自动添加OLE相关的初始化代码)

删除默认的静态文本框,添加5个按钮,分别设置属性如下:

View>ClassWizard…或者Ctrl+w打开类向导,引入PPT对应的类库,步骤如下:

Office的安装目录下面找到MSPPT.OLB文件,打开。(路径一般是类似这样的C:\Program Files\Microsoft Office\Office14

下图添加前后类视图中的对比,其中右边被框出来的6个类为新引入的:

PPTDlg.h中添加

#include "msppt.h"

然后CPPTDlg上右键添加成员变量:

         _Application  App;  

         Presentations  presentations;

         _Presentation  presentation;  

         SlideShowView  slideShowView;      

         SlideShowWindow  slideShowWindow;

         SlideShowSettings  slideShowSettings;

CPPTDlg构造函数中添加如下语句建立一个PPT实例

   if(!App.CreateDispatch("Powerpoint.Application",NULL)){

       MessageBox("无法启动PPT");               

}

然后就是上面5个按钮对应的响应函数

void CPPTDlg::OnOpen() 
{
	static char BASED_CODE szFilter[] = "PowerPoint Files (*.ppt)|*.ppt||";  
	CFileDialog FileDlg(TRUE,"PPT",NULL,OFN_FILEMUSTEXIST|OFN_NONETWORKBUTTON  
		|OFN_PATHMUSTEXIST,szFilter);  
	FileDlg.DoModal();  
	
	CString FileName;  
	FileName = FileDlg.GetPathName();  
	
	if(!FileName.IsEmpty())  
	{  
		presentations  = App.GetPresentations();
		presentation = presentations.Open(FileName,0,0,1);     
	}  
	
}

void CPPTDlg::OnPlay() 
{
	slideShowSettings = presentation.GetSlideShowSettings();
	slideShowSettings.Run();
}

void CPPTDlg::OnPre() 
{
	slideShowWindow = presentation.GetSlideShowWindow();
	slideShowView = slideShowWindow.GetView();
	slideShowView.Previous(); 	
}


void CPPTDlg::OnNext() 
{
	slideShowWindow = presentation.GetSlideShowWindow();
	slideShowView = slideShowWindow.GetView();
	slideShowView.Next(); 		
}


void CPPTDlg::OnExit() 
{
	if(App.m_lpDispatch!=NULL){  
		App.Quit();  
		App.ReleaseDispatch();  
		if (CanExit())  
			CDialog::OnOK();  
	} 
}

编译运行

打开,选择ppt文件,播放,可以向前向后翻页。


参考文献:

http://support.microsoft.com/kb/169505/en-us

http://www.codeproject.com/Articles/2506/Automating-MS-Office-applications

源码及所用资源下载:

http://download.csdn.net/detail/whereyougo/7743539

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值