如何用MFC打开word!急
解决方案 »
- 删除控件关联的消息函数问题
- 请教 error LNK2005的问题
- 怎么解决临界资源问题?做FTP上传的时候同时在对上传的那个文件进行操作,但不成功
- 请教:一个多边形的快速斜扫描线填充算法
- GUID转换成字符串,和把字符串转换成GUID的函数是什么来着?
- 消息映射中一个句子的语法问题
- 简单的问题 可是我很着急
- “ip”(一个串)怎样转为32位ip
- new动态分配内存的问题
- ?lParam = (LPARAM)(LPCTSTR)lpsz中LPARAM和LPCTSTR分别代表什么意思
- fatal error C1600: unsupported data type
- 送分100分:1、负数的补码为什么是反码+1 2、如何理解INVALID_HANDLE_VALUE(-1)
如果仅仅只是MFC打开word文档那就简单了,网上有一堆的资料。
我想你的意思是肯定是说 打开word,读取它的内容到你MFC中来,这样理解这个问题更有价值一点,你去搜下“MFC操作word方法”,用文档类实现的,也是有demo的.
void CDialogModal::OnBnClickedBtnOpen()
{
// TODO: 在此添加控件通知处理程序代码
CString m_strFileName;
CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrFilter = _T("文本文件 (*.txt)\0*.txt\0");
if (fileDlg.DoModal() == IDOK)
m_strFileName=fileDlg.GetPathName(); //读取数据
CFile fp;
CFileException fe;
CString szBuffer = _T("");
if(!m_strFileName.GetLength()) return;
if(!fp.Open(m_strFileName,CFile::modeRead,&fe)) return;
CArchive arLoad(&fp,CArchive::load); //定义4个临时字符串变量,并初始化为'\0'
TCHAR TempFstNum[10], TempStrSign[10], TempSndNum[10],TempResult[10];
memset(TempFstNum, '\0', 10);
memset(TempStrSign, '\0', 10);
memset(TempSndNum, '\0', 10);
memset(TempResult, '\0', 10);
int nIndex=0; try //异常处理
{
if(m_Content_ListCtrl.GetItemCount()>0) // 清除CListCtrl内容
m_Content_ListCtrl.DeleteAllItems();
while(arLoad.ReadString(szBuffer)!=NULL) // 处理数据
{
swscanf_s(szBuffer,_T("%s%s%s%s"), TempFstNum, 10,TempStrSign, 10,TempSndNum, 10,TempResult, 10);
m_Content_ListCtrl.InsertItem(nIndex,TempFstNum);
m_Content_ListCtrl.SetItemText(nIndex, 1, TempStrSign);
m_Content_ListCtrl.SetItemText(nIndex, 2, TempSndNum);
m_Content_ListCtrl.SetItemText(nIndex, 3, TempResult);
nIndex++;
}
}
catch (CFileException ex)
{
TCHAR szError[1024];
ex.GetErrorMessage(szError, 1024);
_tprintf(_T("不能打开文本文件: %1024s"), szError);
}
fp.Close();
}
1、WinExec、Shellexecute、CreateProcess直接启动
2、调用VBA启动