获取Word文件的文件属性详细信息

时间:2014-03-03 17:37:31

标签: delphi ms-word

我正在尝试从文件属性对话框的详细信息页面获取sonme信息。

例如:

file properties details page http://i62.tinypic.com/2q02cdl.png

我刚刚在两个带下划线的日期之后。

我已搜索并在此处找到了一些代码:

a thread on the Tek-Tips forums

我发现其他代码与该线程中的代码非常相似。

我抓住了那段代码并做了一个小应用程序来检查它 - 按钮处理程序中的代码是:

procedure TfmMain.Button1Click(Sender: TObject);
var
  fnp: string;
  bb: boolean;
  ss: string;
begin
  fnp := 'c:\temp\aaaa.doc';

  bb := IsNTFS(fnp);

  if bb then
    moOne.lines.add('Yes, it is NTFS')
  else
    moOne.lines.add('No, it is not NTFS');

  ss := GetFileSummaryInfo(fnp);
    moOne.lines.add(ss);
end;

NTFS检查工作正常,我的文件系统报告为NTFS,但我收到以下OLE错误

  

Project引发了异常类EOleSysError,消息“OLE error 80030002”

单步执行,这就发生在这一行:

OleCheck(PropSetStg.Open(FmtID_SummaryInformation,
      STGM_READ or STGM_SHARE_EXCLUSIVE, PropStg));

在我在Embarcadero论坛上链接的代码中。

我做错了什么?

我在Win 7 64位上使用Delphi 5。

2 个答案:

答案 0 :(得分:1)

COM error codeSTG_E_FILENOTFOUND。因此,从表面上看,似乎该文档不存在摘要信息属性集。

据我所知,该代码中的getter函数不起作用,但setter函数可以。所以你没有做任何事情,但我认为你试图使用的代码不像宣传的那样工作。

答案 1 :(得分:0)

我找到了一些有效的代码......该示例演示了如何获取文档标题,主题,作者,评论,修订,应用程序,创建日期和字数。我已经在一些MSWord文档上尝试了它,并且提取的信息是正确的。

可以在这里找到:

fourm.sources.ru file details code thread