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

Delphi 获取Word文件的文件属性详细信息,delphi,ms-word,Delphi,Ms Word,我试图从文件属性对话框的详细信息页面获取sonme信息 例如: 我现在刚过了两个划线的日期 我在这里的线程中搜索并找到了一些代码: 我还发现了其他类似于该线程中的代码的代码 我抓取了该代码并制作了一个小应用程序来检查它-按钮处理程序中的代码是: procedure TfmMain.Button1Click(Sender: TObject); var fnp: string; bb: boolean; ss: string; begin fnp := 'c:\temp\aaa

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

例如:

我现在刚过了两个划线的日期

我在这里的线程中搜索并找到了一些代码:

我还发现了其他类似于该线程中的代码的代码

我抓取了该代码并制作了一个小应用程序来检查它-按钮处理程序中的代码是:

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错误

项目引发异常类EOleSysError,消息为“OLE错误80030002”

通过单步执行,这将在以下行中发生:

OleCheck(PropSetStg.Open(FmtID_SummaryInformation,
      STGM_READ or STGM_SHARE_EXCLUSIVE, PropStg));
在我在Embarcadero论坛上链接的代码中

我做错了什么

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

该COM是
STG\u E\u FILENOTFOUND
。因此,从表面上看,该文档似乎不存在摘要信息属性集


据我所知,代码中的getter函数不起作用,但setter函数起作用。所以你什么也没做,但我认为你试图使用的代码并不像广告中所说的那样有效

我找到了一些可以工作的代码。。。该示例显示如何获取文档标题、主题、作者、注释、修订、应用程序、创建日期和字数。我已经在一些MSWord文档上试用过,获取的信息是正确的

可以在这里找到:


我想这个问题的公认答案将是新的代码,它确实有效。。。。。。。。。然后我想这个答案就可以了。谢谢你,大卫。如果我找到了解决方案,我会把它贴在这里。这不是答案,因为这里没有相关内容。主要由指向非现场位置的链接组成的答案是不可接受的,因为如果由于某种原因(移动、离线、删除等)该链接变得不可用,则答案对此站点没有任何价值。如果你想发布链接,请将其作为对原始问题的评论。如果你想写一个答案,那么在答案中包含解决方案的代码,并将链接作为附加资源提供。答案应该是独立的,没有这种联系。