版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhuyunier/article/details/80909171
1、新建Win32控制台程序
2、项目右键类向导,添加类->类型库中的MFC类。
3、按照下图添加相应的类
4、修改CApplication.h、CDocument0.h、CDocuments.h和CRange.h中的最上边部分:
#import "C:\\Program Files (x86)\\Microsoft Office\\Office12\\MSWORD.OLB" no_namespace raw_interfaces_only rename("FindText","_FindText") rename("Rectangle","_Rectangle") rename("ExitWindows","_ExitWindows")
注:MSWORD.OLB文件路径是我自个的,大家需要修改成自己的路径;
5、在main函数的源码中添加头文件引用:
#include "CApplication.h"
#include "CDocument0.h"
#include "CDocuments.h"
#include "CRange.h"
6、修改main函数中的内容:
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;
}
else
{
if (CoInitialize(NULL) != S_OK)
{
AfxMessageBox(_T("初始化COM支持库失败!"));
return -1;
}
CApplication wordApp;
CDocuments docs;
CDocument0 doc;
CRange aRange;
COleVariant vTrue((short)TRUE),vFalse((short)FALSE),vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
CString strPath;
GetModuleFileName(NULL, strPath.GetBufferSetLength(MAX_PATH + 1), MAX_PATH);
strPath.ReleaseBuffer();
int nPos;
nPos = strPath.ReverseFind('\\');
strPath = strPath.Left(nPos);
CString ini_file_name = strPath + "\\1.doc";
wordApp.CreateDispatch(_T("Word.Application"), NULL);
docs = wordApp.get_Documents();
doc = docs.Open(COleVariant(ini_file_name), vFalse, vTrue, vFalse, vOpt, vOpt, vOpt, vOpt, vOpt, vOpt, vOpt, vOpt, vOpt, vOpt, vOpt, vOpt);
aRange = doc.Range(vOpt, vOpt);
AfxMessageBox(aRange.get_Text(), MB_OK | MB_ICONWARNING);
doc.Close(vOpt, vOpt, vOpt);
wordApp.Quit(vOpt, vOpt, vOpt);
CoUninitialize();
}
return nRetCode;
}
参考文章:
https://blog.csdn.net/articultur/article/details/44278729