加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

word二次开发之自动生成报告文档

(2015-04-28 16:22:21)
分类: WORD二次开发

许多时候需要根据模板自动生成报告文档,简要记录如下:

1.新建c#工程,添加引用:

在“添加引用”对话框中,选择“COM”>“Microsoft Word xx.0 Object Library”

相同操作打开“添加引用”对话框中,选择“浏览”项,查找到Microsoft.Office.Interop.Word.dll文件

2.打开word,创建模板。

3.利用微软提供的相关类,对模板进行操作生成需要的文档。

word中采用书签或光标跟随的方法定位

(1)书签操作

 bookmarks=oDoc.get_Bookmarks();//获得书签集
 bookmark=bookmarks.Item(COleVariant("启闭力"));//找到书签名为“启闭力”的书签
 range=bookmark.get_Range();//获得该书签的范围
 text.Format("%d",m_floatL);
 range.put_Text(text);

(2)表格操作

 tables=oDoc.get_Tables();//获得文档的表格集
 table=tables.Item(1);
 cell=table.Cell(2,3);
 range=cell.get_Range();
 range.InsertAfter("123");

(3)图片操作

bookmark=bookmarks.Item(COleVariant("pic1"));
 range=bookmark.get_Range();
 inlineshapes=range.get_InlineShapes();
 COleVariant vRange;
 vRange.vt=VT_DISPATCH;
 vRange.pdispVal=range;
inlineshape=inlineshapes.AddPicture(_T("d:\\22000.emf"),vFalse,vTrue,vRange);
 inlineshape.put_ScaleHeight(75);
inlineshape.put_ScaleWidth(85);

range.m_lpDispatch=NULL;

注意要添加引用:

using Microsoft.Office.Interop.Word;

4.注意可能会报错,做如下更改:

(1)

http://s16/mw690/004fY9fizy6RQM0RUQL7f&690

 

 

 

(2)出现如下错误,则是文档扩展名出了问题,将新生成的文档扩展名改成doc

(运行环境:vs2010,word2010)

http://s3/mw690/004fY9fizy6RQNFSexYb2&690



 (参照百度文库等整理)

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有