求 vc++ 9.0嵌入office2003的word,excel。和分别对其相应增删改的功能的源码。  网上找到过vc++嵌入office2000 的word,excel的程序源码,但对于2003的好像是需要修改版本类接口,本人不会。因为本人需要做一个在vc++ 中嵌入office2003, 从word内读取数据 ,保存到excel内,并且可以在制作的vc里可以即时更新出来的小软件,如无相关代码 ,给个涉及技术方向或者要点提点 一样给分vc++ office2003 的操作

解决方案 »

  1.   

    操作word和excel网上都有现成的封装类可以下载  剩下的只是你界面显示的问题...
      

  2.   

    版本类接口一般不需要修改,只要修改import中的版本号就行了,如
    #import "C:/Program Files/Microsoft Office/OFFICE11/excel.exe" exclude("IFont", "IPicture") /
    rename("RGB", "ignorethis"), rename("DialogBox", "ignorethis"), rename("VBE", "JOEVBE"), /
    rename("ReplaceText", "JOEReplaceText"), rename("CopyFile","JOECopyFile"), /
    rename("FindText", "JOEFindText"), rename("NoPrompt", "JOENoPrompt")下面是操作Excel一个比较通用的例程
    http://blog.csdn.net/wishfly/article/details/2875106然后可以到网上打VC 嵌入word的方法和VC 读取word的方法
      

  3.   

    // Office.h#define Uses_MSO2000#pragma warning(disable:4146)#ifdef Uses_MSO2000
    // for MS Office 2000
    #import "C:\Program Files\Microsoft Office\Office\MSO9.DLL"
    #import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"
    #import "C:\Program Files\Microsoft Office\Office\MSWORD9.OLB" \
    rename("ExitWindows","_ExitWindows")
    #import "C:\Program Files\Microsoft Office\Office\EXCEL9.OLB" \
    rename("DialogBox","_DialogBox") \
    rename("RGB","_RGB") \
    exclude("IFont","IPicture")
    //#import "C:\Program Files\Common Files\Microsoft Shared\DAO\DAO360.DLL" \
    // rename("EOF","EndOfFile") rename("BOF","BegOfFile")
    //#import "C:\Program Files\Microsoft Office\Office\MSACC9.OLB"
    #else
    // for MS Office 97
    #import "C:\Program Files\Microsoft Office\Office\MSO97.DLL"
    #import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBEEXT1.OLB"
    #import "C:\Program Files\Microsoft Office\Office\MSWORD8.OLB" \
    rename("ExitWindows","_ExitWindows")
    #import "C:\Program Files\Microsoft Office\Office\EXCEL8.OLB" \
    rename("DialogBox","_DialogBox") \
    rename("RGB","_RGB") \
    exclude("IFont","IPicture")
    //#import "C:\Program Files\Common Files\Microsoft Shared\DAO\DAO350.DLL" \
    // rename("EOF","EndOfFile") rename("BOF","BegOfFile")
    //#import "C:\Program Files\Microsoft Office\Office\MSACC8.OLB"
    #endif#pragma warning(default:4146)
    这个是之前网上下载的嵌入office的头文件,是针对2000的 因为我的是2003编译报
    c:\users\yejie\desktop\demo1\office.h(9) : fatal error C1083: 无法打开类型库文件:“C:\Program Files\Microsoft Office\Office\MSO9.DLL”: No such file or directory我能理解安装2003 和2000接口不一样,,,但是不知道怎么调用2003的
      

  4.   

    还有一个就是 想请问下vc开发 是否有对系统的要求 32位操作系统和64位是否有必然差别?因为我现在是64位 win7,,做vc开发 为了通用兼容性 是否需要改32位win7之类的系统?
      

  5.   

    #import "C:/Program Files/Common Files/Microsoft Shared/OFFICE11/mso.dll" rename("RGB", "MSRGB")#import "C:/Program Files/Common Files/Microsoft Shared/VBA/VBA6/VBE6EXT.OLB" raw_interfaces_only, \
        rename("Reference", "ignorethis"), rename("VBE", "JOEVBE")#import "C:/Program Files/Microsoft Office/OFFICE11/excel.exe" exclude("IFont", "IPicture") \
        rename("RGB", "ignorethis"), rename("DialogBox", "ignorethis"), rename("VBE", "JOEVBE"), \
        rename("ReplaceText", "JOEReplaceText"), rename("CopyFile","JOECopyFile"), \
        rename("FindText", "JOEFindText"), rename("NoPrompt", "JOENoPrompt")#import "C:/Program Files/Microsoft Office/OFFICE11/MSWORD.OLB" \
    rename("ExitWindows","_ExitWindows")你要看看路径下的文件在不在才行,这是最基本要求了。
    64位的程序就不在要32上跑了,但是64位系统一般是兼容32位的程序的
      

  6.   

    用你这个路径 是对的,都有指定文件,,但是
    debug\msword.tlh(7113) : error C2059: 语法错误 : “常量”之类的报了140多个错误。编译不通过,,关于这里的原理是每一个不同版本的office都需要导入不同的版本接口么?
      

  7.   

    demo1\cntritem.cpp(28) : error C2593: “operator +=”不明确
    1>        d:\work\microsoft visual studio 9.0\vc\atlmfc\include\cstringt.h(1102): 可能是“ATL::CStringT<BaseType,StringTraits> &ATL::CStringT<BaseType,StringTraits>::operator +=(const wchar_t *)”
    1>        with
    1>        [
    1>            BaseType=char,
    1>            StringTraits=StrTraitMFC_DLL<char>
    1>        ]
    1>        d:\work\microsoft visual studio 9.0\vc\atlmfc\include\cstringt.h(1089): 或       “ATL::CStringT<BaseType,StringTraits> &ATL::CStringT<BaseType,StringTraits>::operator +=(const char *)”
    1>        with
    1>        [
    1>            BaseType=char,
    1>            StringTraits=StrTraitMFC_DLL<char>
    1>        ]
    1>        试图匹配参数列表“(CString, _bstr_t)”时好像就省一个报错了。。好像系统转换的 类型不一样。。
      

  8.   

    还是没成功  先不弄嵌入部分的。。在线求 按条目格式读取word相关内容写入execel自绘表
      

  9.   

    操作word我不知道怎么弄  操作excel最简单的方法是用libxl库 http://blog.csdn.net/sunnyloves/article/details/9996669
      

  10.   

    求一个 用 _Application ExcelApp; 
    Workbooks wbsMyBooks; 
    _Workbook wbMyBook; 
    Worksheets wssMysheets; 
    _Worksheet wsMysheet; 
    Range rgMyRge; 
    LPDISPATCH lpDispatch;的操作execl方式前提下,,插入一行的操纵方法,