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;
}
//////////////////////////////////////////////////////////////