提个比较难的问题:关于WORD中存盘的消息。 (200分)

  • 主题发起人 主题发起人 荷塘新月
  • 开始时间 开始时间

荷塘新月

Unregistered / Unconfirmed
GUEST, unregistred user!
我在程序中创建了一个 WORD.APPLICATION 对象,用程序控制WORD。但是在WORD中点击了保存按钮时,我想进行自己设置的处理过程。如何获得这个WORD进行数据保存的消息?请各位大侠帮忙!
var _word:olevariant;
_word:=createoleobject('word.application');

欢迎大家踢啊!踢者也有分的!
 
有OnDocumentBeforeSave事件啊!
procedure TForm1.WordApplication1DocumentBeforeSave(Sender: TObject;
var Doc, SaveAsUI, Cancel: OleVariant);
 
肥牛:
我不是用的DELPHI自带的控件,而是自己创建的WORD.APPLICATION。
 
那我就不知道了,既然直接用了WINDOWS的资源,那我估计你只好截获WINDOWS的消息了。
 
是啊,一直在想,如果能够截获WINDOWS消息就好了。不知道BORLAND是如何处理的。
 
和Borland无关,直接用的微软的OLE对象。VB中也是一样的处理,我觉得MSDN中应该有介绍的。
 
看过一些关于WORD的编程资料,没有找到。
 
这个问题应该不算难吧
 
如果能给word写个插件或者用VBA写个宏什么的不知行不行?

=来自:eluian, 时间:2004-4-12 20:07:57, ID:2554663
=这个问题应该不算难吧
说说你的意见哟,怎样不难?

 
楼主可是DFW的元老派高手啊。我班门弄斧一下,也许答非所问,莫怪!
DELPHI只不过封装了它的COM接口而已,在WORD中查一下VBA的帮助就可以找到答案,只要将VBA的示例转化为Pascal语法就行了。
 
何不用Delphi封装的控件,我一直用它与OleContainer配合后,基本上什么问题都能解决
 
谢谢各位。不过我不想用DELPHI自身的SERVER控件。欢迎大家继续讨论!
 
delphi中有个不用SERVER的DEMO啊,不过也是用COM,参考一下了。

/Demos/ActiveX/OleAuto/Word8

水平差,我也只能到这里了!
 
谢谢wk_knife!
 
我一直使用variant方式调用office
这种方式也可以改写word的保存事件,但是只能将自己的操作放在word的保存里面,而不能覆盖原有的保存操作
 
特尔斐 说得很有道理!
 
昨晚一直在看DELPHI中从DLL文件生成的控件,基本上都是接口,里面有一些消息。是否应该在这方面做些文章?
 
在DELPHI的DEMO中有一个这方面的例子,里面有ONNEWDOCUMENT等事件,是截获的消息,但是没有ONSAVEDOCUMENT事件,自己声明了一个事件,但是不管用啊!哪位大侠能够帮忙?
 
我想这个问题和delphi关系不大。主要是对word的编程。用vba应该可以实现。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部