2014-03-03 62 views
0

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

例如:

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

项目引发的异常类EOleSysError与消息 'OLE错误80030002'

通过,这且发生步进rs on the line:

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

在代码我链接到Embarcadero论坛。

我在做什么错?

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

回答

1

那个COM error codeSTG_E_FILENOTFOUND。所以,就表面而言,似乎该文档不存在摘要信息属性集。

从我可以告诉,代码中的getter函数不起作用,但setter函数。所以你没有做任何事情,但我认为你试图使用的代码并不像广告中那样工作。

+0

我想接受这个问题的答案将是新的代码,不工作.........然后,我想这个答案可以去。 –

+0

谢谢大卫。如果我找到解决方案,我会在这里发布。 – user745323

0

我发现了一些可以正常工作的代码...该示例显示如何获取文档标题,主题,作者,评论,修订版,应用程序,创建日期和字数。我已经在几个MSWord文档上尝试过它,并且获取的信息是正确的。

它可以在这里找到:

fourm.sources.ru file details code thread

相关问题