?? 在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 + -