编辑word时禁用某些宏/菜单命令(200分)

  • 主题发起人 主题发起人 jianghuaz
  • 开始时间 开始时间
J

jianghuaz

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾,请问一下在对word进行留痕操作的时候,我只能隐藏修订、接受修订、选项等
菜单项和右键命令,但是用户使用快捷键时还可以调用,我查了一下选项应该对应
ToolsOptions、接受修订ToolsRevisionMarksAccept等等,但是不知道怎么样在delphi中
禁用,请各位指点一下。
 
使用WORD中的KeyBindings 集合对象吧:
该对象代表当前上下文中的一个自定义键盘布局。
 
1、使用VBA代码,编写一个和他同名的文件,放在Doc或者Dot中,就可以了,美其名曰:“覆盖”

Sub ToolsRevisions1() '突出显示修订
MsgBox "修订显示"
End Sub
Sub ToolsReviewRevisions1() '接受或拒绝修订
MsgBox "接受或拒绝修订"
End Sub
Sub ToolsRevisionMarksAccept1() '接受修订
MsgBox "'接受修订"
End Sub
Sub ToolsRevisionMarksReject() '拒绝修订
MsgBox "'拒绝修订"
End Sub
Sub ToolsRevisionMarksToggle() '修订
MsgBox "'修订"
End Sub

2、稍微高级一点的办法,使用Delphi代码,直接制定上述按钮的事件为空,应该也可以,不过目前没有仔细琢磨源码,拿不出来。[:D]
 
使用VBA代码,编写一个和他同名的文件,放在Doc或者Dot中
这我也知道 在word的宏-》word命令中列出各种命令
多谢yzhshi了,我现在编一个activeX去控制word,想知道delphi中的方法怎么样

 
怎么都没有人可以提供一些帮助的?
 
看一下这个:
来自:yzhshi, 时间:2002-1-27 17:59:00, ID:888431 | 编辑
实验代码如下,希望那位能够将Com部分不上,我对这个是根本不懂。[:)]
uses Comobj,Word2000;

var
Word_Handle, Doc_Handle: OleVariant;
Word_Button: OleVariant;

procedure TForm1.Button1Click(Sender: TObject);
begin
try
Word_Handle := GetActiveOleObject('Word.Application');
except
try
Word_Handle := CreateOleObject('Word.Application');
except
Exit;
end;
end;
Word_Handle.Visible := True;

Doc_Handle := Word_Handle.Documents.open(FileName := 'C:/1.doc');
end;

procedure TForm1.Button2Click(Sender: TObject);
var
Word_menubar: OleVariant;
begin
Word_menubar := Doc_Handle.CommandBars[2];//默认添加到了Formating上面

Word_Button := Word_menubar.Controls.Add(type := 1, Temporary := False);
Word_Button.Caption := '测试按钮';
Word_Button.Visible := True;
Word_Button.OnAction :='!<BtnEvent>';
end;
其实对你很简单,你只需要找到那个按钮,然后设置他的OnAction为空就可以了。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=737517
也许还有一些对你有帮助的。
 
接收答案。
 
后退
顶部