aardio 文档

com.powerPoint 库模块帮助文档

启动与关闭原则

PowerPoint 始终保持单进程实例,这一点与 Excel/Word 不同。 自动化代码通常不应当调用 Quit 函数,这有可能误关其他调用方打开的文档。 PowerPoint 通常用于展示,用户通常希望效果是可见的(这很像在浏览器中打开网页,你可以关闭指定的网页,但通常不应当直接关闭浏览器)。 自动化程序应当仅适放不必要的对象引用,仅由调用方启动的后台 PowerPoint 在无其他引用时会自动退出。

PowerPoint 存在有问题的加载项可能会在退出时报错无法启动 owerPoint,这会导致后续调用 PowerPoint 接口失败。 在创建 com.powerPoint 对象时会默认检查此错误对话框并自动关闭。

» 使用指南 » PowerPoint 对象模型

com 成员列表 #

com.powerPoint #

提供 PowerPoint.Application 对象的透明 COM 代理,
按顺序兼容 PowerPoint.Application、WPP.Application、KWPP.Application,
完整保留原生 API 及调用语义,并提供便捷扩展。
常规操作可直接沿用 Excel.Application / VBA 对象模型知识,以 aardio 语法调用.
智能提示(即库参考文档)只列高频成员,不是 API 白名单。

com.powerPoint() #

返回对象:powerPointObject

com.powerPoint(允许启动应用或文件路径) #

默认先按三个 ProgID 查找运行对象,均不可用才尝试创建。false 仅连接。
PowerPoint 的 COM 创建可能复用已有进程,不能视为独占。
传入文件路径:存在则打开,否则新建并保存,默认显示文稿窗口。
构造失败返回 null、提示信息、底层错误。
不自动退出、不强制隐藏、不修改加载项。

powerPointObject 成员列表 #

powerPointObject.* #

继承 PowerPoint.Application 的全部 COM 方法与属性;未列出的 API 也可按 PowerPoint/VBA 文档直接使用。
原生子对象仍是 Presentation、Slide、Shape 等 COM 对象,直接沿用对象模型。
WPS 与 Office 版本差异以实际组件为准。

powerPointObject.ActivePresentation #

当前活动文稿。
无窗口文稿不一定成为活动文稿;后台处理请保留 Add/Open 返回值并显式操作它。

返回对象:powerPointPresentationObject

powerPointObject.ActiveWindow #

原生 DocumentWindow 对象。

powerPointObject.Add() #

返回对象:powerPointPresentationObject

powerPointObject.Add(/withWindow=true/) #

新建并返回文稿;false 为无窗口文稿。

powerPointObject.Alerts #

是否允许 PowerPoint 常规提示。
true 对应 DisplayAlerts=2,false 对应 1;不访问 ScreenUpdating。
不能保证抑制第三方加载项提示。

powerPointObject.Application #

原生 Application 对象。

powerPointObject.Caption #

原生窗口标题。

powerPointObject.CreateFile() #

返回对象:powerPointPresentationObject

powerPointObject.CreateFile(path,withWindow=true) #

存在则打开;否则新建并保存,返回文稿对象。
默认显示文稿窗口;false 为无窗口。不会自动创建父目录。

powerPointObject.DisplayAlerts #

原生 PpAlertLevel:1 不提示、2 显示提示。

powerPointObject.Name #

应用名称。

powerPointObject.Open() #

返回对象:powerPointPresentationObject

powerPointObject.Open(path,readOnly=false,untitled=false,withWindow=true) #

打开并返回文稿,自动转换完整路径。
参数顺序与原生 Presentations.Open 一致。

powerPointObject.Presentations #

原生演示文稿集合。

powerPointObject.Presentations.Add() #

返回对象:powerPointPresentationObject

powerPointObject.Presentations.Add(WithWindow) #

原生 Add 方法,默认有窗口,0 为无窗口。

powerPointObject.Presentations.Count #

打开的文稿数,包含无窗口文稿。

powerPointObject.Presentations.Item() #

返回对象:powerPointPresentationObject

powerPointObject.Presentations.Item(1) #

获取指定索引的文稿;索引从 1 开始。

powerPointObject.Presentations.Open #

原生参数为 FileName、ReadOnly、Untitled、WithWindow;文件名须用完整路径。

powerPointObject.Presentations.Open() #

返回对象:powerPointPresentationObject

powerPointObject.Quit() #

显式调用原生 Application.Quit,再释放包装器引用。
会退出整个应用,不只是当前文稿

注意 PowerPointer 始终保持单进程实例。
自动化程序原则上不应当调用 Quit 以避免误关用户打开的实例。
只有调用方确实允许退出整个应用时才调用;
不能用 Visible、ROT、创建成功或文稿数为零推断所有权。
默认清理请用 Release;本库绝不自动 Quit。
不替调用方保存文稿,不处理加载项/退出弹窗,不强制杀进程。可重复调用。

powerPointObject.Release() #

仅释放包装器及宏代理持有的引用,不退出应用、不关闭文稿、不强制失效外部持有的 COM 对象。
可以重复调用。释放最后一个引用后应用是否自行退出,由 COM 服务决定。
此后 Application/oPowerPoint 为空;其他仍被引用的原生对象不受本方法强制失效。

powerPointObject.Run(宏名称,其他参数...) #

原生 Application.Run,支持不定个参数。

powerPointObject.Save(可选文稿对象) #

保存指定文稿,省略则保存 ActivePresentation。
不自动保存其他文稿。无窗口文稿应显式指定参数。

powerPointObject.SaveAs(path,format,presentation) #

另存指定文稿,省略 presentation 则操作 ActivePresentation。
省略 format 则按后缀推断 PpSaveAsFileType;无后缀使用 ppSaveAsDefault。
未知后缀须显式传入格式常量;可使用 SaveAs(path,,presentation)。
行为与原生 SaveAs 一致,可能覆盖目标;图片格式可能输出为目录。
成功返回原生方法的返回值(通常为空)。

powerPointObject.Version #

应用版本。

powerPointObject.Visible #

原生可见性属性;可设为 true 显示应用。
PowerPoint 不允许设为 false;后台操作请使用 Add(false) 或 Open(path,false,false,false)。

powerPointObject.Wps() #

是否 WPS 演示;根据实际 ProgID 及应用名称判断,不检查文稿文件名。

powerPointObject.add() #

返回对象:powerPointPresentationObject

powerPointObject.eachPresentation() #

for i,presentation in powerPointObject.eachPresentation(){  
\t/*遍历打开的文稿,包含无窗口文稿*/  
}

powerPointObject.eachSlide(可选文稿对象) #

for i,slide in powerPointObject.eachSlide(/*省略则活动文稿*/){  
\t  
}

powerPointObject.jsa #

vba 的同一对象;仅适用于实际支持通过 Application.Run 调用 JSA 的 WPS 版本。

powerPointObject.jsa.* #

输入 WPS 支持的宏函数名。

powerPointObject.open() #

返回对象:powerPointPresentationObject

powerPointObject.progId #

实际成功连接或创建对象使用的 ProgID。

powerPointObject.vba #

通过成员函数调用 Application.Run。
宏是否可用取决于应用版本及宏安全设置;库不会降低宏安全级别。

powerPointObject.vba.* #

输入要运行的 VBA 宏函数名。

powerPointPresentationObject 成员列表 #

powerPointPresentationObject.* #

可输入原生 Presentation 对象的所有方法与属性。

powerPointPresentationObject.BuiltinDocumentProperties #

内置文档属性集合。

powerPointPresentationObject.Close() #

关闭此文稿,不退出整个应用。

powerPointPresentationObject.CreateVideo(filename,useTimingsAndNarrations,defaultSlideDuration,framesPerSecond,quality) #

生成视频。
filename 必须指定完整路径。
其他参数可选。

可使用 CreateVideoStatus 属性获取视频生态状态。

powerPointPresentationObject.CreateVideoStatus #

调用 CreateVideo 方法后可用此属性循环获取生成状态。
此属性的值为 _ppMediaTask 前缀的数值常量。
1/*_ppMediaTaskStatusInProgress*/ 表示转换正在进行中。
也可通过对象的 ppMediaTaskStatusInProgress 属性获取对象的常量值。

powerPointPresentationObject.Export(完整目录路径,过滤器名称,宽度,高度) #

导出所有页为图片,如过滤器 PNG;尺寸为像素。

powerPointPresentationObject.ExportAsFixedFormat(完整路径,格式常量) #

原生固定格式导出;PDF 格式常量为 2。

powerPointPresentationObject.FullName #

完整路径。

powerPointPresentationObject.Name #

文稿名称。

powerPointPresentationObject.NewWindow() #

为文稿新建窗口。

powerPointPresentationObject.ReadOnly #

是否只读。

powerPointPresentationObject.Save() #

保存此文稿。

powerPointPresentationObject.SaveAs(完整路径,格式常量) #

原生 SaveAs,路径请使用 io.fullpath 转为完整路径。

powerPointPresentationObject.Saved #

原生保存状态。设为 true 表示不再提示保存,并不写入磁盘。

powerPointPresentationObject.ppMediaTaskStatusInProgress #

值为 n1/*_ppMediaTaskStatusInProgress*/

powerPointPresentationObject.PageSetup 成员列表 #

powerPointPresentationObject.PageSetup.SlideHeight #

页面高度,单位 point。

powerPointPresentationObject.PageSetup.SlideWidth #

页面宽度,单位 point。

powerPointPresentationObject.SlideShowSettings 成员列表 #

powerPointPresentationObject.SlideShowSettings.Run() #

启动放映,返回 SlideShowWindow。

powerPointPresentationObject.Slides 成员列表 #

powerPointPresentationObject.Slides.Add() #

返回对象:powerPointSlideObject

powerPointPresentationObject.Slides.Add(位置,版式常量) #

添加幻灯片。空白版式为 12(ppLayoutBlank)。

powerPointPresentationObject.Slides.Count #

幻灯片数。

powerPointPresentationObject.Slides.Item() #

返回对象:powerPointSlideObject

powerPointPresentationObject.Slides.Item(1) #

指定索引的幻灯片。

powerPointPresentationObject.Windows 成员列表 #

powerPointPresentationObject.Windows.Count #

文稿窗口数;无窗口文稿为 0。

powerPointShapeObject 成员列表 #

powerPointShapeObject.* #

可输入原生 Shape 对象的所有方法与属性。

powerPointShapeObject.Delete() #

删除形状。

powerPointShapeObject.Height #

高度,单位 point。

powerPointShapeObject.Left #

左坐标,单位 point。

powerPointShapeObject.Name #

形状名称。

powerPointShapeObject.Top #

上坐标,单位 point。

powerPointShapeObject.Width #

宽度,单位 point。

powerPointShapeObject.Fill.ForeColor 成员列表 #

powerPointShapeObject.Fill.ForeColor.RGB #

填充颜色,使用 0xBBGGRR 格式。

powerPointShapeObject.Line.ForeColor 成员列表 #

powerPointShapeObject.Line.ForeColor.RGB #

边线颜色,使用 0xBBGGRR 格式。

powerPointShapeObject.TextFrame.TextRange 成员列表 #

powerPointShapeObject.TextFrame.TextRange.Text #

文本内容。

powerPointShapeObject.TextFrame.TextRange.Font 成员列表 #

powerPointShapeObject.TextFrame.TextRange.Font.Bold #

是否粗体,-1 是、0 否。

powerPointShapeObject.TextFrame.TextRange.Font.Name #

字体名称。

powerPointShapeObject.TextFrame.TextRange.Font.Size #

字号,单位 point。

powerPointShapeObject.TextFrame.TextRange.Font.Color 成员列表 #

powerPointShapeObject.TextFrame.TextRange.Font.Color.RGB #

字体颜色,使用 0xBBGGRR 格式。

powerPointSlideObject 成员列表 #

powerPointSlideObject.* #

可输入原生 Slide 对象的所有方法与属性。

powerPointSlideObject.Delete() #

删除此页。

powerPointSlideObject.Duplicate() #

复制此页,返回 SlideRange。

powerPointSlideObject.Export(完整路径,过滤器名称,宽度,高度) #

导出此页为图片,如 PNG;尺寸为像素。

powerPointSlideObject.MoveTo(新位置) #

移动到指定页序。

powerPointSlideObject.Name #

幻灯片名称。

powerPointSlideObject.NotesPage #

原生备注页 SlideRange。

powerPointSlideObject.SlideID #

幻灯片 ID。

powerPointSlideObject.SlideIndex #

当前页序,起始为 1。

powerPointSlideObject.SlideShowTransition #

原生切换效果对象。

powerPointSlideObject.TimeLine #

原生动画时间线。

powerPointSlideObject.Shapes 成员列表 #

powerPointSlideObject.Shapes.AddPicture() #

返回对象:powerPointShapeObject

powerPointSlideObject.Shapes.AddPicture(完整图片路径,链接到文件,保存到文稿,left,top,width,height) #

添加图片。

powerPointSlideObject.Shapes.AddShape() #

返回对象:powerPointShapeObject

powerPointSlideObject.Shapes.AddShape(形状常量,left,top,width,height) #

添加自选图形。

powerPointSlideObject.Shapes.AddTextbox() #

返回对象:powerPointShapeObject

powerPointSlideObject.Shapes.AddTextbox(方向,left,top,width,height) #

添加文本框,水平方向为 1;坐标为 point。

powerPointSlideObject.Shapes.Count #

形状数量。

powerPointSlideObject.Shapes.Item() #

返回对象:powerPointShapeObject

自动完成常量

_ppMediaTaskStatusDone=3
_ppMediaTaskStatusFailed=4
_ppMediaTaskStatusInProgress=1
_ppMediaTaskStatusNone=0
_ppMediaTaskStatusQueued=2

Markdown 格式