编程用于word模板操作的问题
展开全部 基本步骤(1)创建)一个 MFC 的程序工程。
注意:在VC中对WORD进行操作需要在MFC AppWizard - Step 2 of4中的Automaiton选项上打上勾。
(2)Ctrl+W 执行 ClassWizard(本文按照 VC6 操作,示例程序是在VC6 下编写测试的)。
(3)Add Class...\From a type Library... 在 Office目录中,找到想使用的类型库。
(我使用的是 Office2003,其Word 的类型库文件,保存在 E:\ProgramFiles\Microsoft Office\Office12\MSWOR.OLB)。
(4)选择类型库文件后,在弹出的对话窗中继续选择要添加的类。
具体选择什么类,要看你将来在程序中打算调用什么功能。
当然,也可以不用考虑这么多,用鼠标和Shift键配合,全部选择也可以。
(5)初始化COM。
方法一,找到App的InitInstance()函数,在其中添加AfxOleInit()函数的调用;方法二,在需要调用COM功能的地方 CoInitialize(NULL),调用完毕后CoUninitialize()。
(6)在你需要调用 Office 功能函数的 cpp 文件中 #include //为了方便操作 VARIANT 类型变量,使用 CComVariant 模板类 #include "文件名.h" //具体的头文件名,是由装载类型库的文件名决定的,如MSWORD。
示例程序: //word应用程序 _Application app; //初始化连接 app.CreateDispatch("word.Application"); Documents doc; CComVarianta(_T(strWord)),b(false),c(0),d(true),aa(0),bb(1); _Document doc1; doc.AttachDispatch(app.GetDocuments()); doc1.AttachDispatch(doc.Add(&a,&b,&c,&d)); Range range; //求出文档的所选区域 range=doc1.GetContent();//取出文件内容 str=range.GetText(); m_richedit.SetWindowText(str); //关闭 app.Quit(&b,&c,&c); //释放环境 app.ReleaseDispatch();
如何好OfficeWord模板文件提高操作效率?
ord模板的分类及分布 Word中的模板分为两类:一是系统向导和模板,第二类为用户自定义模板。
而Word的系统向导和模板默认安装在C:\Program Files\Microsoft Office\Templates\2052文件夹中,其扩展名是WIZ(向导)和DOT(模板)。
而用户自定义模板存放的位置会由于Windows版本的不同而不一样:对于Windows 2000/NT/XP用户,自定义模板会放到C:\Documents and Settings\Administrator\Application Data\Microsoft\Templates文件夹下;如果使用Windows 9x/Me,模板会被放置到C:\Windows\Application Data\Microsoft\Templates文件夹下。
使用现有模板 Office XP本身准备了很多精美模板,只要选择“文件”→“新建”,在Word窗口右侧会出现“新建文件”窗口任务格,单击“根据模板新建”下的“通用模板”项目弹出“模板”选择窗口。
在这里所有模板已经分门别类放置好了,有常用、Web 页、报告、备忘录、出版物、其他文件、信函和传真、英文向导模板等几类向导或模板,而且可以单击相应标签打开,其中会有相应模板文件名及模板描述信息,并可预览。
选中你需要的模板,然后单击“确定”按钮即可打开已经套用该模板的新文件。
有的模板可能还会打开向导窗口要求你进行一些参数的设置与设置。
安装外部模板 模板以文件的形式存放的。
因此,如果从网上或光盘上找到一些Word模板,只要把它们拷贝到C:\Documents and Settings\Administrator\Application Data\Microsoft\Templates文件夹下(Windows 2000/XP用户)或C:\Windows\Application Data\Microsoft\Templates文件夹下即可(Windows 9x/Me用户)。
删除不必要的模板 如果不需要太多模板,或觉得安装了太多模板,可打开“资源管理器”,进入用户自定义模板文件夹,再把相应的模板文件删除掉即可。
把别人的文档用作模板 如果看到某一篇文件比较漂亮,且能用Word打开它,那么可选择“文件”→“另存为”,然后再在“另存为”对话框中的“保存类型”下拉框中选择“文件模板”,再输入一个文件名,并把它保存到默认的模板文件夹下。
以后只要选择“文件”→“新建”,就可以在“常规”模板标签中看到刚才制作的模板,双击后即可使用自己定制的模板了。
通过此法,就可以快速把DOC文件转换为Word的模板。
快速转换模板 如果你手头上有DOC文件,那只要把它们拷贝到用户自定义模板文件夹中,再选择“文件”→“新建”,就可以在“常规”模板标签中我们的文件,双击后即可使用。
通过此法,无需通过“另存法”来转换。
其实也可以直接把这些文件的扩展名改为DOT,再拷贝到自定义模板文件夹中。
修改、改造已有模板 Office XP本身带有大量各式各样的文件模板,但有些在使用时可能并不尽如人意。
这时,可以自己来修改已有的文件模板,使它更符合你的要求。
选择“文件”→“新建”,再单击“根据模板新建”下的“通用模板”项目弹出“模板”选择窗口,从中选择一个类别,如“信函和传真”,然后选择“典雅型信函”,再依次在相应位置填入“公司名称”、“职务”、“姓名”等信息,最后单击“文件”→“另存为”,在“另存为”对话框的“保存类型”下拉框中选择“文件模板”,并默认保存在模板文件夹下。
以后使用时,只要选择“文件”→“新建”,就能在“常规”模板标签中看到刚才制作的模板,双击后即可使用自己修改后的模板了。
小提示 现在网上有很多英文的Word模板文件,大家可以把其中的英文信息改为中文的,再保存成模板,这样就可以更好地为我们所用。
如何制作一个公司word模板以后套用rt
vc前面定义文档对象,打开word什么的就不啰嗦啦,关键代码如下:……Window mWindowActive; //定义活动窗口对象View mViewActive; //定义活动视图对象Pane mPane; //定义当前窗格对象mWindowActive=app.GetActiveWindow(); //获得当前窗口 mPane=mWindowActive.GetActivePane(); //获得当前窗格mViewActive=mPane.GetView(); //获得当前视图mViewActive.SetSeekView(9); //设置页眉视图font.SetSize(10);sel.TypeText("XXXXXXXXXXXXXXXXXX有限公司"); para.SetAlignment(1); //居中sel.TypeParagraph();font.SetSize(11);sel.TypeText("计 算 书 专 用 纸");para.SetAlignment(1); //居中font.SetSize(10);mViewActive.SetSeekView(10); //设置页脚视图sel.TypeText("- ");fields.Add(sel.GetRange(),COleVariant(short(33)),COleVariant("PAGE "),vFalse1); //增加页码域sel.TypeText(" -");para.SetAlignment(1); //居中mViewActive.SetSeekView(0); //回到正文视图 ……
怎么使用vc控制word画出列的宽度不同的表格
1.你说的这个主要是取得word接口 然后配合word自带的宏完成任务 实现起来很简单COleVariant vTrue((short)TRUE), vFalse((short)FALSE),vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);_Application m_App;//定义Word提供的应用程序对象;Documents m_Docs;//定义Word提供的文档对象;Selection m_Sel;//定义Word提供的选择对象;m_Docs.ReleaseDispatch();m_Sel.ReleaseDispatch();m_App.m_bAutoRelease=true;if(!m_App.CreateDispatch("Word.Application")){ AfxMessageBox("创建WordXP服务失败!"); exit(1); }//下面是定义VARIANT变量;COleVariant varFilePath(sPath+"MYDOC.DOC");COleVariant varstrNull("");COleVariant varZero((short)0);COleVariant varTrue(short(1),VT_BOOL);COleVariant varFalse(short(0),VT_BOOL);m_Docs.AttachDispatch(m_App.GetDocuments());//将Documents类对象m_Docs和Idispatch接口关联起来;m_Docs.Open(varFilePath,varFalse,varFalse,varFalse,varstrNull,varstrNull,varFalse,varstrNull,varstrNull,varTrue,varTrue,varTrue,varTrue,varTrue,varTrue);//打开Word文档; m_Sel.AttachDispatch(m_App.GetSelection());//将Selection类对象m_Sel和Idispatch接口关联起来;下面就是操作了~2.用批处理做不到 如果只是这样子的话 连VC都可以省了 VBS 就能做到比如新建一个c:\1.doc 里面写上wangtk1982 然后保存退出 编辑下面文件为vbs文件 运行看看结果Dim oWordSet oWord = WScript.CreateObject("Word.Application")set myDoc =oWord.Documents.Open("c:\1.doc")With oWord.Selection.Find.Text = "1982".Replacement.Text = "2011".Forward = True.Wrap = wdFindContinue.Format = False.MatchCase = False.MatchWholeWord = False.MatchByte = True.MatchWildcards = False.MatchSoundsLike = False.MatchAllWordForms = FalseEnd WithoWord.Selection.Find.Execute ,,,,,,,,,,1myDOc.SavemyDoc.Closeoword.Quit
转载请注明出处51数据库 » vc word模版操作
人太丑车太烂