OleFormat

OleFormat class

提供对 OLE 对象或 ActiveX 控件的数据的访问。

要了解更多信息,请访问使用 Ole 对象文档文章。

public class OleFormat

特性

姓名描述
AutoUpdate { get; set; }指定 Microsoft Word 中是否自动更新到 OLE 对象的链接。
Clsid { get; }获取 OLE 对象的 CLSID。
IconCaption { get; }获取 OLE 对象的图标标题。
IsLink { get; }返回真的如果 OLE 对象被链接(当SourceFullName已指定)。
IsLocked { get; set; }指定到 OLE 对象的链接是否被锁定以防止更新。
OleControl { get; }获取OleControl如果此 OLE 对象是 ActiveX 控件,则为对象。否则,此属性为 null。
OleIcon { get; }获取 OLE 对象的绘制方式。当真的时,OLE 对象显示为图标。 当错误的,OLE 对象显示为内容。
OlePackage { get; }提供访问权限OlePackage如果 OLE 对象是 OLE 包。 返回无效的否则。
ProgId { get; set; }获取或设置 OLE 对象的 ProgID。
SourceFullName { get; set; }获取或设置链接的 OLE 对象的源文件的路径和名称。
SourceItem { get; set; }获取或设置用于标识正在链接的源文件部分的字符串。
SuggestedExtension { get; }如果您想将当前嵌入对象保存到文件中,请获取建议的文件扩展名。
SuggestedFileName { get; }如果您想将当前嵌入对象保存到文件中,请获取建议的文件名。

方法

姓名描述
GetOleEntry(string)获取 OLE 对象数据条目。
GetRawData()获取 OLE 对象原始数据。
Save(Stream)将嵌入对象的数据保存到指定的流中。
Save(string)将嵌入对象的数据保存到具有指定名称的文件中。

评论

使用OleFormat属性来访问 OLE 对象的数据。 您不创建OleFormat直接上课。

例子

展示如何将嵌入的 OLE 对象提取到文件中。

Document doc = new Document(MyDir + "OLE spreadsheet.docm");
Shape shape = (Shape)doc.GetChild(NodeType.Shape, 0, true);

// 第一个形状中的 OLE 对象是 Microsoft Excel 电子表格。
OleFormat oleFormat = shape.OleFormat;

Assert.AreEqual("Excel.Sheet.12", oleFormat.ProgId);

// 我们的对象既不是自动更新的,也不是锁定更新的。
Assert.False(oleFormat.AutoUpdate);
Assert.AreEqual(false, oleFormat.IsLocked);

// 如果我们计划将 OLE 对象保存到本地文件系统中的文件中,
// 我们可以使用“SuggestedExtension”属性来确定要将哪个文件扩展名应用于文件。
Assert.AreEqual(".xlsx", oleFormat.SuggestedExtension);

// 以下是将 OLE 对象保存到本地文件系统中的文件的两种方法。
// 1 - 通过流保存:
using (FileStream fs = new FileStream(ArtifactsDir + "OLE spreadsheet extracted via stream" + oleFormat.SuggestedExtension, FileMode.Create))
{
    oleFormat.Save(fs);
}

// 2 - 直接保存为文件名:
oleFormat.Save(ArtifactsDir + "OLE spreadsheet saved directly" + oleFormat.SuggestedExtension);

也可以看看