我做過類似的工作,在Windows 及 C/C++的API中沒有可以
直接寫WORD格式的函數.我也在VB中調用OFFICE提供的vba的方
法做成需要的函數.然後寫成DLL供VC調用.
還有一個辦法就是自己去寫WORD的格式,但比較複雜,資料又少.
直接寫WORD格式的函數.我也在VB中調用OFFICE提供的vba的方
法做成需要的函數.然後寫成DLL供VC調用.
還有一個辦法就是自己去寫WORD的格式,但比較複雜,資料又少.
解决方案 »
- 怎么自画CheckListBox? windows mobile上是不是不支持CCheckListBox呢?
- ARX 文档切换?
- 在ocx控件中打开一个对话框,上面的按钮等如何表现xp外观[100分]
- 菜鸟问题: 怎么把自己写的ActiveX插件发到网上去呢? 100分不够再加
- 我用VC++6编了个程序,在debug配置下运行就会在编译时出现错误;但是在release配置下就顺利运行,这是怎么回事?
- IXMLDOMElement与IXMLDOMNode如何进行相互转变?
- 请问,64位win7环境下, 32位exe能否调用 64位服务exe组件中的接口。
- 急!COM+参数传递问题.
- 右键可以转到定义,但是编译时报错,提示未声明标识符
- 求一维条码图像识别软件源码
- MFC读文件问题
- 高手给我调试一下程序!成功后马上给分
CString FileName,LoadFile,SaveFile,SaveFileName,Temp1;
CHAR FilePath[255];
// BSTR TEMP1;
VARIANT Temp;
COleVariant TEMP2;
CTime NowTime;
hr=CoInitialize(NULL);
// TEMP1="E:\\练习\\OFFICE\\OpenOffice\\12月6日工作日志.doc";
// wcscat((BSTR)TEMP1,OLESTR("\\开发人员工作日志模板.dot"));
Word::_ApplicationPtr MyOffice("Word.Application.9");
::GetCurrentDirectory(255,FilePath);
FileName.Format("%s",FilePath);
LoadFile=FileName+"\\开发人员工作日志模板.dot";
TEMP2=(COleVariant)LoadFile;
Temp=TEMP2.Detach();
if (MyOffice) {
// hr=MyOffice->Documents->Open(&Temp);
hr=MyOffice->Documents->Add(&Temp);
//hr=MyOffice->ActiveDocument->Activate();
//hr=MyOffice->ActiveWindow->put_Visible(VARIANT_BOOL(TRUE)); //显示word窗口
//这中间你可以添加其他你要处理的功能
if(FAILED(hr))
{
::AfxMessageBox("文件打开显示错误");
MyOffice->Quit();
}
NowTime=CTime::GetCurrentTime();
Temp1=NowTime.Format("%m月%d") ;
SaveFileName=Temp1+"日工作日志.doc";
SaveFile=FileName+"\\"+SaveFileName;
TEMP2.Clear();
TEMP2=(COleVariant)SaveFile;
Temp=TEMP2.Detach();
TEMP2.Clear();
hr=MyOffice->ActiveDocument->SaveAs(&Temp);
// hr=MyOffice->Documents->Save(&Temp); //错误原因:保存文件如果是Documents是全保存 所以应该使用ActiveDocument
if(FAILED(hr))
{
::AfxMessageBox("文件保存失败");
MyOffice->ActiveWindow->put_Visible(VARIANT_BOOL(TRUE));
}
::AfxMessageBox("文件保存成功!");
MyOffice->Quit();
}
// MyOffice->Quit();
// MyOffice->Release();
return 0;