生成WORD动态库使用说明
版本:1.0.0.1 日期:2009-8-3
1. 开发环境
Winxp SP3+VC2008 SP1+WORD2003
2. 动态库类型
WIN动态库DLL
3. 动态库包含文档
头文件:TZConvertWord.h
发行版本文件:Release\TZConvertWord.dll
Release\TZConvertWord.lib
VB调用函数声明文件:WordConvertor.vb
4. VC使用方法
1、将头文件、版本文件复制到项目中;
2、修改头文件,将lib引用位置修改正确;
如:#pragma comment(lib,"..\\Debug\\TZConvertWord.lib")
3、在调用动态库的源代码中添加对头文件的引用;
如:#include "TZConvertWord.h"
5. VB使用方法
1、将动态库复制到应用程序目录;
2、添加函数引用声明文件WordConvertor.vb
6. 调用过程
n 首先调用Initialize函数获取Word Com对象接口,并初始化相关资源;
n 调用OpenTempleteDoc打开文档模板,如果指定的文档模板不存在将返回False。
n 调用GotoBookMark函数,通过书签定位将要插入的文本或图片在Word中的位置;
n 调用InsertText函数,插入文本;
n 调用InsertPicture函数,插入图片,同时可以设置插入后图片的大小,默认值不进行设置;
n 在所有插入工作结束后调用Save函数保存文件。
n 最后别忘了调用Exit方法释放所有资源。
7. 函数方法说明
//打开文档模板函数
//初始化
bool Initialize(bool bVisible=false);
//打开模板文件
bool OpenTempleteDoc(wchar_t const * FullFileName);
//定位书签位置
bool GotoBookMark(wchar_t const * cBookmarkName);
//插入文本
bool InsertText(wchar_t const * textContent);
//插入图片
bool InsertPicture(wchar_t const * imgeFileName, float imgeWidth=0,float imgeHeight=0);
//显示WORD应用程序界面
bool SetVisible(bool bVisible=true);
//保存文档
bool Save(wchar_t const * saveFullFileName);
//退出并释放资源
void Exit(void);
8. VC示例源码
void CWordConvertorTestDlg::OnBnClickedOk()
{
//获取当前应用程序目录
CString m_FilePath;
GetModuleFileName(NULL,m_FilePath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
m_FilePath.ReleaseBuffer();
int m_iPosIndex;
m_iPosIndex = m_FilePath.ReverseFind('\\');
m_FilePath = m_FilePath.Left(m_iPosIndex);
m_FilePath+="\\";
//初始化调用
Initialize(false);
//打开模板文件
OpenTempleteDoc(m_FilePath+_T("Reports.dot"));
//查找并定位书签
GotoBookMark(_T("ReportNo"));
//插入文本
InsertText(_T("T20090728001")); //报告编号
//定位并定位书签
GotoBookMark(_T("BlowImg"));
//插入图片
InsertPicture(m_FilePath+_T("1.jpg")); //爆破试验曲线
GotoBookMark(_T("PressImg"));
//插入图片,并设置图片在WORD中的大小
InsertPicture(m_FilePath+_T("2.jpg"),30,30); //耐压试验曲线
//保存文档
Save(m_FilePath+_T("test.doc"));
//释放资源
Exit();
}
9. VB示例源码
WordConvertor.Initialize()
Dim str As String = System.Environment.CurrentDirectory
WordConvertor.OpenTempleteDoc(str + "\Reports.dot")
GotoBookMark("ReportNo")
InsertText("T20090728001")
GotoBookMark("DTVersion")
InsertText("Ver1.0.0.1")
GotoBookMark("BlowImg")
InsertPicture(str + "\1.jpg")
Save(str + "\test.doc")