真可怜,放了这么久没答案, TwebBrowser 打开Word(200)

  • 主题发起人 主题发起人 let_it_be
  • 开始时间 开始时间
L

let_it_be

Unregistered / Unconfirmed
GUEST, unregistred user!
用TwebBrowser 打开Word wb.Navigate('C:/abc.doc');开始可以编辑,当切换到另外的word文档,在切换回来WebBrowser 打开的文档,word 的工具栏和不能激活,快捷菜单也无法弹出; 如果是oleContanier 打开 word 遇到同样的问题, 但是可以用 OleContainer1.DoVerb(-4); 解决WebBrowser 用 wb.DoObjectVerb(-4) 也无法解决。有何不同?请高手出手,谢谢
 
请高手发表意见
 
没有高手,结贴吧。
 
你要研究VBA,实际最终使用VBscript或者javascript去激活你所要的工具栏。好像mainmenu出不来。 Word:ole只有一个活动的,别处打开,抢走焦点,browser这个就哑巴了。
 
很明显你这个要求比较变态。在IE中打开word文档本来就有很多限制。你这在一个只是调用IE核心的控件里打开,不更是困难重重?这是谁提的变态要求?
 
到底什么情况?我用delphi7.0+office2007没发现这个。
 
2007以下没有问题,2007起比较麻烦,默认在新窗口内用程序而非IE打开。
 
这个问题以前我作项目碰到过,当时也花了不少时间查阅MSDN和调试,解决方法是在适当的地方开关UI,正确使用以下几个语句即可解决: DoVerb(ovShow); perform(CM_UIDEACTIVATE,0,0); perform(CM_UIACTIVATE,0,0); DoVerb(PrimaryVerb);
 
with wb do begin DoObjectVerb(ovShow); perform(CM_UIDEACTIVATE,0,0); perform(CM_UIACTIVATE,0,0); DoObjectVerb(ovPrimary); end;还是不行哦
 
我其实也在找这个办法,清空WebBrowser的方法楼主的还好,不需要保存Cookies,直接动态创建释放TWebBorwser就可以解决,
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
867
DelphiTeacher的专栏
D
D
回复
0
查看
836
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部