OleObjectFrame

OleObjectFrame 类

表示幻灯片上的 OLE 对象。

public class OleObjectFrame : GraphicalObject, IOleObjectFrame

属性

名称描述
AlternativeText { get; set; }返回或设置与形状关联的替代文本。可读/可写 String。
AlternativeTextTitle { get; set; }返回或设置与形状关联的替代文本标题。可读/可写 String。
AsIGraphicalObject { get; }允许获取基础 IGraphicalObject 接口。只读 IGraphicalObject
BlackWhiteMode { get; set; }属性指定形状在黑白显示模式下的渲染方式。可读/可写 BlackWhiteMode
ConnectionSiteCount { get; }返回形状的连接点数量。只读 Int32。
CustomData { get; }返回形状的自定义数据。只读 ICustomData
virtual EffectFormat { get; }返回包含形状像素效果的 EffectFormat 对象。注意:对于某些没有效果属性的形状可能返回 null。只读 IEffectFormat
EmbeddedData { get; }获取或设置 OLE 嵌入数据的信息。可读/可写 IOleEmbeddedDataInfo
EmbeddedFileLabel { get; }返回嵌入 OLE 对象的文件名。
EmbeddedFileName { get; }返回嵌入 OLE 对象的路径。
virtual FillFormat { get; }返回包含形状填充属性的 FillFormat 对象。注意:对于某些没有填充属性的形状可能返回 null。只读 IFillFormat
Frame { get; set; }返回或设置形状框架的属性。可读/可写 IShapeFrame
GraphicalObjectLock { get; }返回形状的锁定信息。只读 IGraphicalObjectLock
Height { get; set; }获取或设置形状的高度(以磅为单位)。可读/可写 Single。
Hidden { get; set; }确定形状是否隐藏。可读/可写 Boolean。
HyperlinkClick { get; set; }返回或设置鼠标点击时的超链接。可读/可写 IHyperlink
HyperlinkManager { get; }返回超链接管理器。只读 IHyperlinkManager
HyperlinkMouseOver { get; set; }返回或设置鼠标悬停时的超链接。可读/可写 IHyperlink
IsDecorative { get; set; }获取或设置“标记为装饰”选项。可读/可写 Boolean。
IsGrouped { get; }确定形状是否为组合对象。只读 Boolean。
IsObjectIcon { get; set; }确定对象是否以图标形式显示。可读/可写 Boolean。
IsObjectLink { get; }确定对象是否链接到外部文件。只读 Boolean。
IsTextHolder { get; }确定形状是否为 TextHolder_PPT。只读 Boolean。
virtual LineFormat { get; }返回包含形状线条属性的 LineFormat 对象。注意:对于某些没有线条属性的形状可能返回 null。只读 ILineFormat
LinkFileName { get; }返回链接文件的完整路径。将使用短文件名。只读 String。
LinkPathLong { get; set; }返回链接文件的完整路径。将使用长文件名。可读/可写 String。
LinkPathRelative { get; }若存在,则返回链接文件的相对路径;否则返回空字符串。只读 String。
Name { get; set; }返回或设置形状的名称。不能为空。必要时使用空字符串。可读/可写 String。
ObjectName { get; set; }返回或设置对象的名称。可读/可写 String。
ObjectProgId { get; set; }返回对象的 ProgID。只读 String。
OfficeInteropShapeId { get; }返回在幻灯片范围内唯一且在形状生命周期内保持不变的标识符,可供 PowerPoint 或互操作代码可靠地在文档任意位置引用该形状。只读 UInt32。另见 UniqueId
ParentGroup { get; }若形状为组合对象,则返回其父 GroupShape 对象;否则返回 null。只读 IGroupShape
Placeholder { get; }返回形状的占位符。若形状没有占位符则返回 null。只读 IPlaceholder
Presentation { get; }返回幻灯片的父演示文稿。只读 IPresentation
RawFrame { get; set; }返回或设置原始形状框架的属性。可读/可写 IShapeFrame
Rotation { get; set; }返回或设置形状绕 z 轴旋转的角度(度)。正值表示顺时针旋转,负值表示逆时针旋转。可读/可写 Single。
ShapeLock { get; }返回形状的锁定信息。只读 IGraphicalObjectLock。(2 个属性)
Slide { get; }返回形状所在的父幻灯片。只读 IBaseSlide
SubstitutePictureFormat { get; }返回 OleObject 图像填充属性对象。只读 IPictureFillFormat
SubstitutePictureTitle { get; set; }返回或设置 OleObject 图标的标题。可读/可写 String。
virtual ThreeDFormat { get; }返回包含形状三维效果属性的 ThreeDFormat 对象。注意:对于某些没有三维属性的形状可能返回 null。只读 IThreeDFormat
UniqueId { get; }返回内部的、针对演示文稿范围的标识符,供插件或其他代码使用。由于此值可能被用户或程序重新分配,不能视为持久唯一键。只读 UInt32。另见 OfficeInteropShapeId
UpdateAutomatic { get; set; }确定链接的嵌入对象在打开或打印演示文稿时是否自动更新。可读/可写 Boolean。
Width { get; set; }获取或设置形状的宽度(以磅为单位)。可读/可写 Single。
X { get; set; }获取或设置形状左上角的 X 坐标(以磅为单位)。可读/可写 Single。
Y { get; set; }获取或设置形状左上角的 Y 坐标(以磅为单位)。可读/可写 Single。
virtual ZOrderPosition { get; }返回形状在 Z 顺序中的位置。Shapes[0] 返回 Z 顺序最底部的形状,Shapes[Shapes.Count - 1] 返回最前面的形状。只读 Int32。

方法

名称描述
AddPlaceholder(IPlaceholder)若不存在则添加新的占位符,并将占位符属性设置为指定的对象。
GetBasePlaceholder()返回基本占位符形状(从布局或母版幻灯片继承的形状)。如果当前形状未继承,则返回 null。
GetImage()返回形状缩略图。默认使用 ShapeThumbnailBounds.Shape 形状缩略图边界类型。
GetImage(ShapeThumbnailBounds, float, float)返回形状缩略图。
GetVisualBounds()获取依据渲染内容计算的形状可视边界。
RemovePlaceholder()将此形状标记为非占位符。
SetEmbeddedData(IOleEmbeddedDataInfo)设置 OLE 嵌入数据的信息。此方法会更改对象属性以反映新数据,并将 IsObjectLink 标志设为 false,表示 OLE 对象已嵌入。
WriteAsSvg(Stream)将形状内容保存为 SVG 文件。
WriteAsSvg(Stream, ISVGOptions)将形状内容保存为 SVG 文件。

示例

以下示例展示了如何访问 OLE 对象框架。

[C#]
// 加载 PPTX 到演示文稿对象
using (Presentation pres = new Presentation("AccessingOLEObjectFrame.pptx"))
{
    // 访问第一张幻灯片
    ISlide sld = pres.Slides[0];
    // 将形状强制转换为 OleObjectFrame
    OleObjectFrame oleObjectFrame = sld.Shapes[0] as OleObjectFrame;
    // 读取 OLE 对象并写入磁盘
    if (oleObjectFrame != null)
    {
        // 获取嵌入文件数据
        byte[] data = oleObjectFrame.EmbeddedData.EmbeddedFileData;
        // 获取嵌入文件扩展名
        string fileExtention = oleObjectFrame.EmbeddedData.EmbeddedFileExtension;
        // 创建保存提取文件的路径
        string extractedPath = "excelFromOLE_out" + fileExtention;
        // 保存提取的数据
        using (FileStream fstr = new FileStream(extractedPath, FileMode.Create, FileAccess.Write))
        {
            fstr.Write(data, 0, data.Length);
        }
    }
}

参见