• 大小: 1.08MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-29
  • 语言: C/C++
  • 标签: vs2010  操作WORD  VBA  MFC  

资源简介

vs2010 操作WORD VBA MFC 批注 WORD 完整源码

资源截图

代码片段和文件信息

#include “StdAfx.h“
#include “CmyWord.h“


//声明 vOpt 最好用这下面这个 因为我自己喜欢用 CComVariant vOpt;出写 可能在一些特殊环境会出现错误
//COleVariant vOpt(( long )DISP_E_PARAMNOTFOUND  VT_ERROR);
//---------------------------------------------------------------------------------------------------------
//                       小鱼儿 Word 封装类初步完成 2012 14  2:04
//
//1 我只学习封装了一些Word中比较使用的东西,后续还会继续改进,看哪些需要的东西要进来。来方便我们的工作学习
//2 这个我第一次用c++ 来写程序, 也是我c++入门的程序吧。有什么指点请加我QQ879801208 无聊勿加
//3 程序代码可能没有全部测试 如果有问题 谢谢指正。
//4 如果有高手想指点我一下 我是非常高兴的。。。。
//---------------------------------------------------------------------------------------------------------
CmyWord::CmyWord()
{
InitCOM();
}

CmyWord::~CmyWord()
{
//释放资源最好从 小到大的顺序来释放。这个和c里面一些释放资源的道理是一样的
//和c+= 先析构儿子 再析构父亲是一样的。
CoUninitialize();

range.ReleaseDispatch();
tab.ReleaseDispatch();
doc.ReleaseDispatch();
docs.ReleaseDispatch();
app.ReleaseDispatch();
sel.ReleaseDispatch();
}

BOOL CmyWord::InitCOM()
{
if(CoInitialize(NULL)!=S_OK)
{
AfxMessageBox(“初始化com库失败“);
return 0;
}
else
{
return TRUE;
}
}

BOOL CmyWord::CreateAPP()
{
if(!app.CreateDispatch(“Word.Application“))
{
AfxMessageBox(“你没有安装OFFICE“);
return FALSE;
}
else
{
app.put_Visible(TRUE);
return TRUE;
}
}

//我的类默认是打开的,而Word 中默认看不见的。
void CmyWord::ShowApp(BOOL flag)
{
if(!app.m_lpDispatch)
{
AfxMessageBox(“你还没有获得Word对象“);
return;
}
else
{
app.put_Visible(flag);
}
}
BOOL CmyWord::CreateDocument()
{
if(!app.m_lpDispatch)
{
AfxMessageBox(“Application为空Documents创建失败!“ MB_OK|MB_ICONWARNING);
return FALSE;
}
else
{
docs=app.get_Documents();
if(docs.m_lpDispatch==NULL)
{
AfxMessageBox(“创建DOCUMENTS 失败“);
return FALSE;
}
else
{
CComVariant Template(_T(““));//创建一个空的模版
CComVariant NewTemplate(false);
CComVariant DocumentType(0);
CComVariant Visible;//不处理 用默认值
doc = docs.Add(&Template&NewTemplate&DocumentType&Visible);
if(!doc.m_lpDispatch)
{
AfxMessageBox(“创建word失败“);
return FALSE;
}
else
{
sel = app.get_Selection();//获得当前Word操作。开始认为是在doc获得selection。仔细想一下确实应该是Word的接口点
if(!sel.m_lpDispatch)
{
AfxMessageBox(“selection 获取失败“);
return FALSE;
}
else
{
return TRUE;
}
}
}
}
}

BOOL CmyWord ::Create()
{
if(CreateAPP())
{
if(CreateDocument())
{
return TRUE;
}
else
return FALSE;
}
else
return FALSE;
}

BOOL CmyWord::Open(CString FileNameBOOL ReadOnly /* = FALSE */BOOL AddToRecentFiles /* = FALSE */)
{

CComVariant Read(ReadOnly);
CComVariant AddToR(AddToRecentFiles);
CComVariant Name(FileName);

COleVariant vTrue((short)TRUE) vFalse((short)FALSE);
COleVariant varstrNull(““);
COleVariant varZero((short)0);
COleVariant varTrue(short(1)VT_BOOL);
COleVariant varFalse(short(0)VT_BOOL);
COleVariant vOpt((long)DISP_E_PARAMNOTFOUND VT_ERROR);

if(!app.m_lpDispatch)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-06-09 09:35  VC++2010操作Word2010\
     文件      250430  2013-02-26 22:20  VC++2010操作Word2010\VC++2010操作Word2010.docx
     目录           0  2014-06-09 09:39  VC++2010操作Word2010\VCForWord\
     目录           0  2014-06-09 09:39  VC++2010操作Word2010\VCForWord\VCForWord\
     文件       15000  2014-06-06 16:46  VC++2010操作Word2010\VCForWord\VCForWord\CmyWord.cpp
     文件        2774  2014-06-06 14:46  VC++2010操作Word2010\VCForWord\VCForWord\CmyWord.h
     文件        3051  2013-01-30 20:18  VC++2010操作Word2010\VCForWord\VCForWord\ReadMe.txt
     文件      106080  2014-06-05 17:43  VC++2010操作Word2010\VCForWord\VCForWord\VCForWord.aps
     文件        2135  2013-01-30 21:23  VC++2010操作Word2010\VCForWord\VCForWord\VCForWord.cpp
     文件         460  2013-01-30 20:18  VC++2010操作Word2010\VCForWord\VCForWord\VCForWord.h
     文件       10320  2014-06-05 17:43  VC++2010操作Word2010\VCForWord\VCForWord\VCForWord.rc
     文件       25628  2014-06-06 14:51  VC++2010操作Word2010\VCForWord\VCForWord\VCForWord.vcxproj
     文件       39854  2014-06-06 14:51  VC++2010操作Word2010\VCForWord\VCForWord\VCForWord.vcxproj.filters
     文件         143  2013-01-30 20:18  VC++2010操作Word2010\VCForWord\VCForWord\VCForWord.vcxproj.user
     文件       16060  2014-06-06 16:27  VC++2010操作Word2010\VCForWord\VCForWord\VCForWordDlg.cpp
     文件        1027  2014-06-06 15:18  VC++2010操作Word2010\VCForWord\VCForWord\VCForWordDlg.h
     目录           0  2014-06-05 17:06  VC++2010操作Word2010\VCForWord\VCForWord\Word2010\
     文件        2050  2013-01-30 20:43  VC++2010操作Word2010\VCForWord\VCForWord\Word2010\CAddIn.h
     文件        1881  2013-01-30 20:43  VC++2010操作Word2010\VCForWord\VCForWord\Word2010\CAddIns.h
     文件        1517  2013-01-30 20:43  VC++2010操作Word2010\VCForWord\VCForWord\Word2010\CAdjustments.h
     文件       47201  2013-02-26 21:51  VC++2010操作Word2010\VCForWord\VCForWord\Word2010\CApplication.h
     文件         616  2013-01-30 20:43  VC++2010操作Word2010\VCForWord\VCForWord\Word2010\CApplicationEvents.h
     文件         886  2013-01-30 20:43  VC++2010操作Word2010\VCForWord\VCForWord\Word2010\CApplicationEvents0.h
     文件        2717  2013-01-30 20:43  VC++2010操作Word2010\VCForWord\VCForWord\Word2010\CApplicationEvents2.h
     文件        2725  2013-01-30 20:43  VC++2010操作Word2010\VCForWord\VCForWord\Word2010\CApplicationEvents20.h
     文件        4851  2013-01-30 20:43  VC++2010操作Word2010\VCForWord\VCForWord\Word2010\CApplicationEvents3.h
     文件        4859  2013-01-30 20:43  VC++2010操作Word2010\VCForWord\VCForWord\Word2010\CApplicationEvents30.h
     文件        7445  2013-01-30 20:43  VC++2010操作Word2010\VCForWord\VCForWord\Word2010\CApplicationEvents4.h
     文件        1916  2013-01-30 20:43  VC++2010操作Word2010\VCForWord\VCForWord\Word2010\CAutoCaption.h
     文件        1623  2013-01-30 20:43  VC++2010操作Word2010\VCForWord\VCForWord\Word2010\CAutoCaptions.h
     文件        6332  2013-01-30 20:43  VC++2010操作Word2010\VCForWord\VCForWord\Word2010\CAutoCorrect.h
............此处省略363个文件信息

评论

共有 条评论