谢谢指教!

解决方案 »

  1.   

    var
     Wnd : hWnd;
     sztext:array[0..255] of char;
    begin
    Wnd :=FindWindow('winword',nil); // 根据窗体类名查找窗口句柄
     if Wnd > 0 then // 如果找到则发送自定义的消息并退出
     begin
     if GetwindowText(wnd,@sztext,sizeof(sztext))>0 then
          showmessage(strpas(sztext));
    end;
    end;
      

  2.   

    更正:
    wnd := FindWindow(PChar('OpusApp'), nil);
      

  3.   

    谢谢解答, 也许我没把需求说清楚.我手头有几百个word文档,文件名类似file1.doc, file2.doc, file3.doc,现在我想提取出每篇word文档的标题(不使用WORD打开每个文件),然后将标题作为word文件的文件名.不知道是否可以做到.
      

  4.   

    那要求你对DOC文件结构相当了解。
      

  5.   

    如果你的文档很正规的话,可以读WORD文档的属性值(也就是“属性”里“摘要”中的内容方法有两种,一是按结构化文档的属性读写方法。二是用WORD的COM接口读取。
    前一种方法可以作到不打开WORD文档(至少是无须用WORD打开)。但由于属性里保存的文章标题不一定是真正的标题,所以不一定能多准确。
    因为默认状态下WORD只是将第一行文字作为标题,如果你的标题前有其他文字
    或标题分几行,就不能上面的方法得到正确标题了。
      

  6.   

    谢谢wk_knife的回答,这正是我想要的.
    请问能不能给一个使用word com接口的例子呢? 实在是不知道怎么用.
      

  7.   

    ..\Demos\ActiveX\OleAuto\SrvComp\Word自带的例子,读属性用BuiltInProperty,写程序时将IMPORT文件夹里WORDxxx.pas打开
    可以得到更多的帮助。
      

  8.   

    在DelphiX\demos\activex\Olectnrs\olesdi.dpr这就是你要找的答案!
    打开这个工程运行后点击菜单edit->insertobject选word就行了!
    有问题请发信息到我的E-mail:[email protected]
    来信请把问题的网址粘贴上。
      

  9.   

    to wk_knife:
    你的回答最贴近我的要求,谢谢!但是Delphi里好像就WordApplication和WordDocument没有对应的帮助,无从下手。
    再给点帮助吧。
    先把分数给你。
      

  10.   

    to wk_knife:
    你的回答最贴近我的要求,谢谢!但是Delphi里好像就WordApplication和WordDocument没有对应的帮助,无从下手。
    再给点帮助吧。
    先把分数给你。