如何在Microsoft Word的工具栏上添加自己的按钮.(100分)

  • 主题发起人 主题发起人 枫之叶
  • 开始时间 开始时间

枫之叶

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾,请赐教.如何实现在Microsoft Word的工具栏上添加自己的按钮.
 
i want to know also!
 
厉害厉害,我想删干净他们都实现不了。极关注。
 
要word2000才可以做的,自定义按钮
 
选择Delphi得project/import type library , 选择 add , 查找Office目录下面得MSWORD9.OLB(Word2000)
文件,然后 create unit,可以建立Office_TLB, Word_TLB单元,并请大家仔细研究该单元得所有接口、类方法
、属性定义,肯定可以实现得

下面是我刚刚写的测试代码,没有高定的是如何将函数附加到按键的事件上面去,各位再研究一下把
我现在得出差了,回来再看看大家讨论得如何。


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Office_TLB, Word_TLB, OleServer;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
appWord: _Application ;

cBar : CommandBar ;
cBarCtl : CommandBarControl ;
cBarBtnCustom: CommandBarButton ;

implementation


{$R *.dfm}

function actionTest:integer;
begin
ShowMessage('DragonPC Word Build-in Toolbar Test Program') ;
result := 0 ;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
appWord := CoWordApplication.Create() ;

cBar := appWord.CommandBars.Add('DragonPC Toolbar', msoBarFloating, EmptyParam, EmptyParam) ;
cBar.Set_Visible(true);

cBarCtl := cBar.Controls.Add(msoControlButton, EmptyParam, EmptyParam, EmptyParam, EmptyParam) ;
// you can use msoControlComboBox or other to add some other visual control.
// Style = msoButtonCaption
cBarCtl.Set_Caption('Button');
cBarCtl.Set_TooltipText('DragonPC Word Build-in Custom Button Test.');
cBarCtl.Set_OnAction('=actionTest;') ;
cBarCtl.Set_Visible(true) ;
appWord.Visible := true ;
end;

end.
 
我记得Adobe就在Word里面加了一个Toolbar用以打印为PDF文档的 :)
 
to 魏启明
具体实现方法.
 
怎么没有人气呢?这类com add-in 的开发我非常感兴趣的,

另外,枫之叶有没有试试我的方法,绝对可以添加Toolbar和按键的,按键的事件处理请
看以下资料,

(到 borland.public.delphi.oleautomation 新闻组找的)
http://216.101.185.148/scripts/isapi.dll/article?id=11C0586A&article=2738979
http://216.101.185.148/scripts/isapi.dll/article?id=11C0586A&article=2738972
 
DragonPC_???
你提供的网站我连接不到,能否告知详细的解决方法,小弟感激不尽.
 
DragonPC_???,你的cBarCtl.Set_OnAction('=actionTest;') ;不能编译通过?
枫之叶,我也在问此问题。
请进,http://www.delphibbs.com/delphibbs/dispq.asp?lid=696797
还有300分的悬赏
 
tzahz:

呵呵,这个问题没有你那个问题难
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部