ITPub博客

首页 > 应用开发 > IT综合 > 在VC中调用WORD(显示,修改,存盘,运行宏)之二去掉word的常用,格式工具栏 (转)

在VC中调用WORD(显示,修改,存盘,运行宏)之二去掉word的常用,格式工具栏 (转)

原创 IT综合 作者:gugu99 时间:2008-01-25 15:18:54 0 删除 编辑
在VC中调用WORD(显示,修改,存盘,运行宏)之二去掉word的常用,格式工具栏 (转)[@more@]

在VC中调用word(显示,修改,存盘,运行宏)之二去掉word的常用,格式工具栏

在View菜单中,选ClassWizard,选Automation选项卡,选Add Class,选择From a TypeLibrary, 在Office目录中选中microsoft Word 97/2000 类型库MSO9.DLL,选中_Commandbars,CommandBar。单击ok

在officeView.h添加#include "mso9.h"

添加方法:

int CQsofficeView::hidetoolbar(BOOL hide)
{
   TRY{
 LPDISPATCH lpDisp;  
 lpDisp = m_pselection->GetIDispatch();  
 Documents docs; 
 _Application app;  
 _Document mydoc;
 _CommandBars mybars;
  CommandBar  mybar;
 mydoc.AttachDispatch (lpDisp,TRUE);
 app=mydoc.GetApplication (); 
 mydoc.Activate ();

 mybars.AttachDispatch (mydoc.GetCommandBars (),TRUE);
  mybar.AttachDispatch (mybars.GetItem (COleVariant(/*(short)1)*/"Standard")),TRUE);
 mybar.SetVisible (hide);
  mybar.AttachDispatch (mybars.GetItem (COleVariant(/*(short)2*/"Formatting")),TRUE);
 mybar.SetVisible (hide);
 CMDIFrameWnd * pwnd=(CMDIFrameWnd *)AfxGetMainWnd();
  pwnd->GetActiveFrame ()->UpdateWindow ();

 }
 CATCH(CException, e)
 {
 TCHAR errormsg[255];
 e->GetErrorMessage (errormsg,255,NULL);
 }
 END_CATCH
return 0;
}

bulid,insert object后,便可以调用hidetoolbar了。

我的经验:先用WORD的宏录制功能录制好宏后,选择工具下宏下VB编辑器看它的源码然后再根据msword.h和mso*.h的相应类来实现。

在VC中调用WORD(显示,修改,存盘,运行宏)一在这儿。

.NET/develop/article/10/10570.shtm">http://www.csdn.net/develop/article/10/10570.shtm

我想有人也许跟我一样在走许多弯路,把我的method呈现出来希望能对他们有所帮助。:)


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10748419/viewspace-998427/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    3121
  • 访问量
    2641570