📄 在vc中如何将数据导入word中 [vc-mfc].htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0065)http://www.pconline.com.cn/pcedu/empolder/gj/vc/10309/216622.html -->
<HTML><HEAD><TITLE>在VC中如何将数据导入Word中 [VC/MFC]</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312"><LINK
href="在VC中如何将数据导入Word中 [VC-MFC].files/text.css" rel=stylesheet>
<SCRIPT language=JavaScript><!--var mystat=0;//price selectfunction myout(){mystat=0;window.setTimeout("mycheck()",5);}function myin(){mystat=1;}function mycheck(){if (mystat==0) MM_showHideLayers('price','','hide');}//price select
function MM_openBrWindow(theURL,winName,features) { //v2.0 window.open(theURL,winName,features);}
function MM_findObj(n, d) { //v3.0 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;}
function MM_showHideLayers() { //v3.0 var i,p,v,obj,args=MM_showHideLayers.arguments; for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2]; if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; } obj.visibility=v; }}//--></SCRIPT>
<STYLE type=text/css>.btd {
FONT-SIZE: 14px
}
</STYLE>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY style="TEXT-ALIGN: center" bgColor=#303880 leftMargin=0 topMargin=3
marginheight="3" marginwidth="0">
<SCRIPT src="在VC中如何将数据导入Word中 [VC-MFC].files/hp_top.js"></SCRIPT>
<SCRIPT src="在VC中如何将数据导入Word中 [VC-MFC].files/edu_empolder_top_550.js"></SCRIPT>
<SCRIPT src="在VC中如何将数据导入Word中 [VC-MFC].files/pcedu_top2.js"></SCRIPT>
<TABLE cellSpacing=0 cellPadding=0 width=760 bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD class=bodyleft width=7 bgColor=#ffa200><IMG height=1
src="在VC中如何将数据导入Word中 [VC-MFC].files/blank.gif" width=7></TD>
<TD style="BORDER-TOP: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid"
width=743 height=100><SPAN id=ad_743_art style="HEIGHT: 100px"> </SPAN></TD>
<TD class=bodyright width=6 bgColor=#ffa200><IMG height=1
src="在VC中如何将数据导入Word中 [VC-MFC].files/blank.gif"
width=6></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=760 bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD class=bodyleft width=7 bgColor=#ffa200><IMG height=1
src="在VC中如何将数据导入Word中 [VC-MFC].files/blank.gif" width=7></TD>
<TD vAlign=top><SPAN id=menu>-</SPAN>
<TABLE cellSpacing=0 cellPadding=5 width="100%" border=0>
<TBODY>
<TR vAlign=top>
<TD class=article>
<TABLE height=22 cellSpacing=0 cellPadding=2 width="98%" border=0>
<TBODY>
<TR>
<TD>您现在的位置:<A
href="http://www.pconline.com.cn/pcedu/index.html">网络学院</A> > <A
href="http://www.pconline.com.cn/pcedu/empolder/index.html">开发特区</A> > <A
href="http://www.pconline.com.cn/pcedu/empolder/gj/index.html">开发语言</A> > <A
href="http://www.pconline.com.cn/pcedu/empolder/gj/vc/index.html">VC/MFC</A></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=6 width="99%"
background=在VC中如何将数据导入Word中 [VC-MFC].files/point.gif border=0>
<TBODY>
<TR>
<TD align=middle></TD>
<TD align=middle><FONT color=#339900
size=3><B>在VC中如何将数据导入Word中</B></FONT><BR></TD>
<TD class=sfont align=right width=126 rowSpan=2>
<P>出处:PConline<BR>责任编辑:pcedu</P></TD></TR>
<TR>
<TD width=96>[03-9-10 10:36] </TD>
<TD align=middle>作者:何鸿鹏 </TD></TR></TBODY></TABLE>
<DIV align=center><SPAN id=zl_550>-</SPAN>
</DIV> 在给企业开发的项目中,客户经常要求将数据汇总显示并打印。站在程序员的立场上,简单数据的汇总打印可以采用VB自带报表,对复杂的数据用水晶报表或第三方打印控件。在企业中,汇总数据另一个目的是为了便于交流和共享资源,报表的格式通常固定,内容可以自己调整,他们对
Excel 和 Word 情有独钟。<BR><BR>
<SCRIPT id=ad_text_pcedu
src="在VC中如何将数据导入Word中 [VC-MFC].files/ad_text_pcedu.js"
defer></SCRIPT>
刚完成的项目中,客户要求将汇总的数据以三种方式进行显示和打印:AutoCad、Excel 和 Word
文档中。前两种方式网上资源很多,对 Word 文档我找到例子不是很多。由于需要和 AutoCad 开发程序结合,不能将 Word 文档以
OLE 的方式
嵌入到程序中,文档只能在内存中形成,这将占用大量的CPU资源,另开一个线程进行处理,线程间以发送消息的方式进行通信。<BR><BR> 首先在VC引入Word,
对格式相同的地方一定使用模版的方式进行处理,这可以大大的提高运行速度,Word中的模版为*.dot。加载模版的代码为:
<BR><BR> sDocs=sApp.GetDocuments();<BR> sDocs.AttachDispatch(sApp.GetDocuments(),true);<BR> COleVariant
vFalse((long)0),vTrue((long)1);
<BR> sDoc.AttachDispatch(sDocs.Add(COleVariant(_variant_t(strFileName)),
vFalse,vFalse, vTrue));
<BR><BR> 需要注意的是,如果Word中使用到表格,VBA录制的全是Selection对象的处理方法,在VC中使用Selection对象的MoveUp和MoveDown函数时会出现不确定现象(如果你知道为什么的话请告诉我)。如果你需要绘制表格,不要用程序来动态形成,绘制表格的代码是很繁琐的,而且在页眉中绘制单元格是很难控制的。可以先在模版中绘出你要的表格格式,然后用程序复制单元格或者直接使用模版中的单元格。由于我做的项目表格的行数不确定,我采用的是复制单元格的方式(速度比较慢,谁有更好的方法?)。<BR><BR> 剩下的处理流程,就是你想做什么操作,先在Word中录制一段宏,然后查看其VBA代码,并将其转化到Vc程序中。这就看你Word使用的熟练程度了,例如如何把不同页的页眉页脚设置不同,如何得到当前页的页数以及总的文档的页数,具体可以参考程序。<BR><BR> VC中也可以像Excel中调用模版中存在的宏,代码如下:<BR> VARIANT
vtMissing ;vtMissing.vt =VT_ERROR; <BR> vtMissing.scode
=DISP_E_PARAMNOTFOUND;<BR> sApp.Run("AddCell",&vtMissing,&vtMissing,&vtMissing,
<BR> &vtMissing,&vtMissing,&vtMissing,&vtMissing,&vtMissing,&vtMissing,&vtMissing,
<BR> &vtMissing,&vtMissing,&vtMissing,&vtMissing,&vtMissing,&vtMissing,&vtMissing,
<BR> &vtMissing,&vtMissing,&vtMissing,&vtMissing,&vtMissing,&vtMissing,&vtMissing,
<BR> &vtMissing,&vtMissing,&vtMissing,&vtMissing,&vtMissing,&vtMissing);
<BR><BR> 本文的目的是想起到抛砖引玉的作用,看看大家在VC中使用Word有什么更好的方法。(vc知识库) <BR
clear=all>
<DIV align=center><FONT style="COLOR: #ff0000">[1]
</FONT></DIV><SPAN id=xl_550>ad</SPAN>
<TABLE
style="BORDER-TOP: #303880 1px solid; BORDER-BOTTOM: #303880 1px solid"
height=30 cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR align=middle>
<TD width="18%"></TD>
<TD width="15%"><IMG height=17
src="在VC中如何将数据导入Word中 [VC-MFC].files/commend.gif" width=17
align=absMiddle> <A
href="http://www.pconline.com.cn/script/email.html?在VC中如何将数据导入Word中&http://www.pconline.com.cn/pcedu/empolder/gj/vc/10309/216622.html"
target=_blank>发给好友 </A></TD>
<TD width="17%"><IMG height=17
src="在VC中如何将数据导入Word中 [VC-MFC].files/commend1.gif" width=17
align=absMiddle> <A
href="mailto:pcedu@pconline.com.cn?subject=我要投稿">投稿给我们</A></TD>
<TD width="15%"><IMG height=17
src="在VC中如何将数据导入Word中 [VC-MFC].files/commend4.gif" width=17
align=absMiddle> <A
href="javascript:window.external.AddFavorite('http://www.pconline.com.cn/pcedu/empolder/gj/vc/10309/216622.html',%20'在VC中如何将数据导入Word中')">加入收藏</A></TD>
<TD width="15%" height=24><IMG height=17
src="在VC中如何将数据导入Word中 [VC-MFC].files/commend3.gif" width=17
align=absMiddle> <A
href="http://www.pconline.com.cn/pcedu/empolder/gj/vc/10309/216622.html#">返回顶部</A></TD>
<TD width="17%" height=24></TD></TR></TBODY></TABLE><BR><SPAN
class=article><B>相关文章:</B> <BR>
<BLOCKQUOTE><A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -