VC操作PowerPoint
来源:互联网 发布:域名快速备案费用 编辑:程序博客网 时间:2024/04/20 21:11
Visual C++ 6.0 操作PowerPoint 2003
2008年08月15日 星期五 上午 11:11
主要内容包括:启动、打开、关闭、幻灯片播放、首页、末页、上一页、下一页等。
本代码以PowerPoint 2003为例,其他OFFICE组件及版本方法与此类似。
下面是主要步骤和代码:
1、创建MFC对话框应用程序,在向导的第2步选择automation,其他保持默认即可。
2、在对话框上添加启动、打开、关闭、幻灯片播放、首页、末页、上一页、下一页等按钮及函数。
3、在应用程序的InitInstance()中初始化OLE,代码如下:
4、运用类向导添加PowerPoint类型库,类型库默认在"C:\Program Files\Microsoft Office\Office11\"下,文件名为:msppt.olb。
5、在对话框应用程序的头文件中添加:
#include "msppt.h"
6、在在对话框应用程序的头文件中添加如下变量:
7、在启动按钮函数中添加如下代码:
8、在打开按钮函数中添加如下代码:
9、在关闭按钮函数中添加如下代码:
10、在运行按钮函数中添加如下代码:
11、在翻到首页按钮函数中添加如下代码:
12、在翻到末叶按钮函数中添加如下代码:
13、在翻到前页按钮函数中添加如下代码:
2008年08月15日 星期五 上午 11:11
主要内容包括:启动、打开、关闭、幻灯片播放、首页、末页、上一页、下一页等。
本代码以PowerPoint 2003为例,其他OFFICE组件及版本方法与此类似。
下面是主要步骤和代码:
1、创建MFC对话框应用程序,在向导的第2步选择automation,其他保持默认即可。
2、在对话框上添加启动、打开、关闭、幻灯片播放、首页、末页、上一页、下一页等按钮及函数。
3、在应用程序的InitInstance()中初始化OLE,代码如下:
1
// Initialize OLE libraries
2
if
(!AfxOleInit())
3
{
4
AfxMessageBox(
"Failed to initialize OLE"
);
5
return
FALSE;
6
}
4、运用类向导添加PowerPoint类型库,类型库默认在"C:\Program Files\Microsoft Office\Office11\"下,文件名为:msppt.olb。
5、在对话框应用程序的头文件中添加:
#include "msppt.h"
6、在在对话框应用程序的头文件中添加如下变量:
01
_Application app;
02
Presentations Presentations;
03
_Presentation Presentation;
04
SlideShowView View;
05
SlideShowWindow SlideShowWindow;
06
SlideShowSettings slideshow;
07
Slides slides;
08
_Slide slide;
09
DocumentWindow documentwindow;
10
View ActiveView;
7、在启动按钮函数中添加如下代码:
01
void
CXXXDlg::OnBtnStart()
02
{
03
// Start PowerPoint and get Application object...
04
if
(!app.CreateDispatch(
"Powerpoint.Application"
))
05
{
06
AfxMessageBox(
"Couldn't start PowerPoint."
);
07
}
08
else
// Make PowerPoint visible and display a message
09
{
10
app.SetVisible(TRUE);
11
TRACE(
"PowerPoint is Running!"
);
12
}
13
}
8、在打开按钮函数中添加如下代码:
01
void
CXXXDlg::OnBtnOpen()
02
{
03
static
char
BASED_CODE szFilter[] =
"PowerPoint Files (*.ppt)|*.ppt||"
;
04
CFileDialog FileDlg(TRUE,
"PPT"
,NULL,OFN_FILEMUSTEXIST|OFN_NONETWORKBUTTON
05
|OFN_PATHMUSTEXIST,szFilter);
06
FileDlg.DoModal();
07
08
// To get the selected file's path and name
09
CString strFileName;
10
strFileName = FileDlg.GetPathName();
11
12
if
(!strFileName.IsEmpty())
13
{
14
Presentations = app.GetPresentations();
15
Presentation = Presentations.Open(strFileName,0,0,1);
16
}
17
}
9、在关闭按钮函数中添加如下代码:
1
void
CXXXDlg::OnBtnClose()
2
{
3
documentwindow=app.GetActiveWindow();
//获得活动的文档
4
documentwindow.Close();
//关闭当前活动的文档
5
if
(CanExit())
6
app.Quit();
7
}
10、在运行按钮函数中添加如下代码:
01
void
CXXXDlg::OnBtnRun()
02
{
03
Presentations = app.GetActivePresentation();
04
slides = Presentation.GetSlides();
05
// Show the first slide of the presentation
06
slide = slides.Item(COleVariant((
long
)1));
07
08
//Run the show
09
slideshow = Presentation.GetSlideShowSettings();
10
slideshow.Run();
11
}
11、在翻到首页按钮函数中添加如下代码:
1
void
CXXXDlg::OnBtnFirst()
2
{
3
Presentation = app.GetActivePresentation();
4
SlideShowWindow = Presentation.GetSlideShowWindow();
5
View = SlideShowWindow.GetView();
6
View.First();
7
}
12、在翻到末叶按钮函数中添加如下代码:
1
void
CXXXDlg::OnBtnLast()
2
{
3
Presentation = app.GetActivePresentation();
4
SlideShowWindow = Presentation.GetSlideShowWindow();
5
View = SlideShowWindow.GetView();
6
View.Last();
7
}
13、在翻到前页按钮函数中添加如下代码:
1
void
CXXXDlg::OnBtnPrevious()
2
{
3
Presentation = app.GetActivePresentation();
4
SlideShowWindow = Presentation.GetSlideShowWindow();
5
View = SlideShowWindow.GetView();
6
View.Previous();
7
}
14、在翻到下页按钮函数中添加如下代码:
1
void
CXXXDlg::OnBtnNext()
2
{
3
Presentation = app.GetActivePresentation();
4
SlideShowWindow = Presentation.GetSlideShowWindow();
5
View = SlideShowWindow.GetView();
6
View.Next();
7
}
15.获得幻灯片总数
1
void
CXXXDlg::OnBtnGetSlidesCount()
2
{
3
Presentations=app.GetActivePresentation();
4
slides=Presentation.GetSlides();
5
long
endpos=slides.GetCount();
//获得幻灯片总数
6
}
16.获得当前幻灯片序号
1
void
CXXXDlg::OnBtnGetCurrentPosition()
2
{
3
Presentation=app.GetActivePresentation();
4
SlideShowWindow=Presentation.GetSlideShowWindow();
5
View=SlideShowWindow.GetView();
6
long
Curpos=View.GetCurrentShowPosition();
//当前幻灯片序号
7
}
链接2:http://support.microsoft.com/kb/254009/
这个例子作用是通过程序打开并放映PPT、结束放映、退出程序。
在放映的时候我们就可以获取信息了,可以用OnTimer解决了.
SlideShowView类中的GetCurrentShowPosition函数可以获得当前页码,
其他的就找相关的类查询吧,要获得标题什么的要用到_slide的GetShape函数,返回shapes类型,shapes里面自己选择,比如里面的GetTitle可以获得标题的shape, 再通过Shape的GetTextFrame函数, TextFrame的GetTextRange函数,最后 TextRange的GetText就获得标题的文字信息了
- VC操作PowerPoint
- VC操作PowerPoint
- VC操作PowerPoint
- 自己动手:VC 操作PowerPoint
- PowerPoint操作
- VC操作PowerPoint及 放映时候获得相关信息
- VC操作PowerPoint及 放映时候获得相关信息(补充)
- 自动化操作PowerPoint
- C# 操作Powerpoint
- VC6.0操作PowerPoint
- PHP_PHP操作Powerpoint-PHPPowerPoint
- PowerPoint, Word, Ole操作
- 用VBA去操作PowerPoint
- C# 操作PowerPoint(一)
- 操作powerpoint遇到的问题
- PowerPoint
- Visual C++ 6.0 操作PowerPoint 2003
- C# PowerPoint操作的基本用法
- Oracle基本操作
- bcp 小工具 及 openrowset/openquery/opendatasource 用法小结
- [转]分割文件名 _splitpath() 函数
- 第七届一次川渝毗邻县 市 区 护林联防工作会议在安岳召开
- 构造内核源码树
- VC操作PowerPoint
- 如何在Ubuntu 11.10下成功安装Java
- ReportViewer发布后的Javascript错误问题解决
- Android 开源项目推荐
- datepicker的汉化(sencha touch)
- Android创建和使用数据库详细指南(2)
- VC拆分字符串
- 多态Object类toString方法学习笔记ObjectDemo.java
- Building an Hadoop 0.20.x version for HBase 0.90.2