www.pudn.com > testWordAll.rar > WordDocOperate_Inform.cpp


// WordDocOperate_Inform.cpp: implementation of the CWordDocOperate_Inform class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#include "stdafx.h" 
#include "WordDocOperate_Inform.h" 
 
#ifdef _DEBUG 
#undef THIS_FILE 
static char THIS_FILE[]=__FILE__; 
#define new DEBUG_NEW 
#endif 
 
////////////////////////////////////////////////////////////////////// 
// Construction/Destruction 
////////////////////////////////////////////////////////////////////// 
 
CWordDocOperate_Inform::CWordDocOperate_Inform() 
{ 
 
} 
 
CWordDocOperate_Inform::~CWordDocOperate_Inform() 
{ 
 
} 
 
/////////违法图片///////////////// 
void CWordDocOperate_Inform::SetPictureName(CString strPicName) 
{ 
	m_PicName = strPicName; 
} 
 
//////////Word排版////////////// 
void CWordDocOperate_Inform::WordDocArrange() 
{ 
	//////排版文档////////////////////////////// 
	COleVariant varstrNull(""); 
	COleVariant varZero((short)0); 
	COleVariant varTrue(short(1),VT_BOOL); 
	COleVariant varFalse(short(0),VT_BOOL); 
	COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR); 
 
	//word书签使用////////////// 
	 
	//1.时间 
	CString strBMar_kdsj = "kdsj"; 
	COleVariant varBMark_kdsj(strBMar_kdsj); 
	Range rBMark_kdsj = m_Doc.GoTo(varTrue,varZero,varZero,varBMark_kdsj); 
	rBMark_kdsj.SetText("2006-09-19"); 
 
	//2.违法编号 
	CString strBMark_bh = "bh"; 
	COleVariant varBMark_bh(strBMark_bh); 
	Range rBMark_bh = m_Doc.GoTo(varTrue,varZero,varZero,varBMark_bh); 
	rBMark_bh.SetText("2006000001"); 
 
	//3.单位名称 
	CString strBMark_dwmc = "dwmc"; 
	COleVariant varBMark_dwmc(strBMark_dwmc); 
	Range rBMark_dwmc = m_Doc.GoTo(varTrue,varZero,varZero,varBMark_dwmc); 
	rBMark_dwmc.SetText("沈阳市交警支队一大队"); 
 
	//4.日期 
	CString strBMark_rq = "rq"; 
	COleVariant varBMark_rq(strBMark_rq); 
	Range rBMark_rq = m_Doc.GoTo(varTrue,varZero,varZero,varBMark_rq); 
	rBMark_rq.SetText("2006-09-19"); 
 
	//表格的用法///////////////// 
	Tables m_tables = m_Doc.GetTables(); 
	Table m_table1 = m_tables.Item(1);	//第一个表格 
	Rows   rows   =   m_table1.GetRows();    
 
	//第1行 
	Row   row = rows.Item(1);		 
	Cells cells = row.GetCells();    
	Cell cell = cells.Item(2);   //第2列 
	Range r = cell.GetRange();    
	r.SetText("冬天"); 
 
	cell = cells.Item(4);   //第4列 
	r = cell.GetRange(); 
	r.SetText("沈阳市大东区"); 
 
	//第2行 
	row = rows.Item(2);		 
	cells = row.GetCells();    
	cell = cells.Item(2);   //第2列 
	r = cell.GetRange();    
	r.SetText("辽A12345"); 
 
	cell = cells.Item(4);   //第4列 
	r = cell.GetRange(); 
	r.SetText("大型车"); 
 
	//第10行第2列,插入图片: 
	row = rows.Item(10);		 
	cells = row.GetCells();    
	cell = cells.Item(2);   //第2列 
	r = cell.GetRange(); 
	 
	/////////////插入图片////////////////////////// 
	CString strPicFile = m_PicName; 
 
	//嵌入方式显示图片 
	InlineShapes inlineshapes; 
	LPDISPATCH pInlineShapes = r.GetInlineShapes(); 
	inlineshapes.AttachDispatch(pInlineShapes); 
	CComVariant vtTrue(true), vtFalse(false), vtZero(0l), vtNone, vtNullString(""); 
	CComVariant vtOpn(DISP_E_PARAMNOTFOUND, VT_ERROR); 
	inlineshapes.AddPicture(strPicFile, &vtFalse, &vtTrue, &vtOpn); 
	inlineshapes.ReleaseDispatch(); 
	 
} 
 
//////////////////入口函数////////////////////////////////// 
BOOL CWordDocOperate_Inform::WordDocOperate(){ 
 
	BOOL res = FALSE; 
	 
	try{ 
 
		//打开word app 
		res = this->OpenWord(); 
		if(res == FALSE){ 
			return FALSE;		//打开失败 
		} 
 
		//Word文档排版 
		this->WordDocArrange(); 
		 
		//预览/打印 
		if(m_wordStruct.PreviewOrPrint == 0){ 
 
			m_Doc.PrintPreview();		//预览,前提是m_App.SetVisible(TRUE); 
 
		}else{ 
 
			res = this->PrintDocument(); 
 
			//保存 
			this->SaveWordDoc(m_wordStruct.m_tempWordDoc); 
 
			//关闭 
			this->CloseWord(); 
		} 
		 
	} 
	catch(CException e) 
	{ 
		CString error; 
 
		error.Format("打开word App 错误信息:%s",e.GetErrorMessage); 
		 
		return FALSE; 
	} 
 
	return res; 
} 
//////////////////////////////////////////////////////////////