我是靠谱客的博主 勤奋音响,最近开发中收集的这篇文章主要介绍VS2010写WORD(二)表格操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

只讲操作,原理未知。。。。。。

主要记录表格以的一下简单操作 

1.添加表格

2.设置列宽

3.设置边框属性

4.单元格的合并拆分

5.单元格的填充

6.动态添加一行

7.结束当前单元格的标记,调到文档末尾


进入表格

//选择从光标至文档结尾的内容 先跳出之前的内容

selection.EndKey(COleVariant((short)wdStory),COleVariant((short)wdMove));

CRange rng = selection.get_Range();
CTables0 tables = doc.get_Tables();
CTable0   tb = tables.Add(rng,2,2,vOpt,vOpt);
CColumns0 cols = tb.get_Columns();

//设置每列宽度
float wid = cols.get_Width();
CColumn col;
col.AttachDispatch(cols.Item(1),TRUE);

col.put_Width(50);//第一列设置为50

col.AttachDispatch(cols.Item(2),TRUE);
col.put_Width(wid + (wid - 50));//此处应注意 wid应该是获得的每列的宽度,表格总宽度是固定,为了保证表格总宽度,减掉的要加上

//设置表格外边框和内框属性

CBorders bds = tb.get_Borders();

bds.put_OutsideLineStyle(wdLineStyleSingle);
bds.put_OutsideColorIndex(wdGray50);
bds.put_InsideLineStyle(wdLineStyleSingle);
bds.put_InsideColorIndex(wdGray50);

//合并单元格

selection.MoveRight(COleVariant((short)1),COleVariant((short)2),COleVariant((short)wdExtend));
CCells cells = selection.get_Cells();
cells.put_VerticalAlignment(1);//文字居中
cells.Merge();

//插入图片 title
CString strAppPath = GetAppPath(); 
CString strPicture = strAppPath + _T("\appico\sms.png"); 
CnlineShapes nLineShapes = selection.get_InlineShapes();
CnlineShape nLineshape = nLineShapes.AddPicture(strPicture, vFalse, vTrue, vOpt);// 插入图片API
selection.TypeText(strFormat);
selection.put_Style(COleVariant((short)wdStyleHeading1));
CParagraph lastPara = selection.get_Paragraphs();
lastPara.put_Alignment(wdAlignParagraphCenter); 
selection.EndOf(COleVariant((short)wdParagraph), COleVariant((short)wdMove));  

//填充单元格  方法一

selection.MoveRight(COleVariant((short)1),COleVariant((short)1),COleVariant((short)wdMove));
selection.TypeText(_T("序号"));
selection.MoveRight(COleVariant((short)1),COleVariant((short)1),COleVariant((short)wdMove));
selection.TypeText(_T("短信信息"));

//动态添加一行

CRows rs;
COleVariant covOp((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
rs = tb.get_Rows();
rs.Add(covOp);
CRows rows=tb.get_Rows();
long nRows=rows.get_Count();

//拆分单元格
CCell cell = tb.Cell(nRows,2);
COleVariant lastrow((long)2);
COleVariant lastcol((long)1);
cell.Split(lastrow,lastcol);

//设置单元格背景色 和 填充单元格

cell = tb.Cell(nRows,1);
CShading s = cell.get_Shading();
s.put_BackgroundPatternColor(wdColorGray25);
CRange rng = cell.get_Range();
rng.put_Text(strFormat);

//结束当前表 EndKey调到文档末尾 结束当前table表的编辑
selection.EndKey(COleVariant((short)wdStory),COleVariant((short)wdMove));

//在添加第二个table表格前需要加一个段落 ,否则会报错( 原因未知  )
selection.TypeParagraph();
selection.EndOf(COleVariant((short)wdParagraph), COleVariant((short)wdMove));


//添加第二个表格 EndKey调到文档末尾 开始第二个table表的编辑

selection.EndKey(COleVariant((short)wdStory),COleVariant((short)wdMove));

。。。。

最后

以上就是勤奋音响为你收集整理的VS2010写WORD(二)表格操作的全部内容,希望文章能够帮你解决VS2010写WORD(二)表格操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部