用OleContainer控件打开了一个word文档,现在想让word2007的Ribbon菜单下有些功能不能使用,比如要让“审阅”功能不能使用,应该怎么控制呢! 好像使用CommandBars 及Controls属性无法做到!
解决方案 »
- delphi中两个DBedit中的数值相乘 显示到edit中的代码 然后DBEDIT内容改变,edit内容也改变???
- M Xmas
- 分布式开发,套间及同步问题
- 这两个控件在哪里啊?这两个控件在哪里啊?
- 同一服务器,多个IP,多个SOCKET客户端的问题。
- 有关ADO/MIDAS(TADOQuery+TDataSetProvider+TClientDataSet)
- 求助!一条SQl语句的写法...
- 找到delphi的一个bug(delphi7.0)
- I/O Error 32 。。。。。。在线
- 使用quickreport开发时的一个问题
- 请高手帮我看看什么地方出了问题?
- 用webbrowser检测出IE的版本是4.0的,怎么能够用到操作系统自带的IE内核啊,我的电脑都已经最新了
再后来,OFFICE2007出来,webbrowser不能再装WORD,EXCEL之类了,不知道MS是怎么想的。
不过,是不是可以在使用olecontainer的同时,使用ole方法连接,再调用VBA间接控制比如你说的“审阅”功能?
有时间的话,我也试一试
http://msdn.microsoft.com/en-us/library/bb212714.aspx
MyWordOLE:TOleContainer;
IOPO:IOleInPlaceObject;
begin
if MyWordOLE.State in [osUIActive] then
begin
MyWordOLE.OleObjectInterface.QueryInterface(IOleInPlaceObject,IOPO);
IOPO.UIDeactivate;
IOPO :=nil;
end;
上面的代码可以隐藏全部的菜单和工具栏(包括ribbon);但不是我想要的效果;我只想控制部分功能。
这个是收费的,他应该是office插件,如果使用office插件,自己也可以写的!
因為我看msdn介紹的hiding Group, hiding tab都會去取得office的GetCustomUI這個接口函數,然后掛上自己的。
但這一切,似乎要在delphi先做一些相應的定義。
所以考慮用add in express。或許還有其他方法,只是我們不知道...查找到有一個跟你一樣需求的,是英文網站。他到處發帖子,但沒有得到回復,呵呵。