• VS2010通过OLE操作Excel2010


    **//自我总结
    1.通过类向导添加excel.exe添加需要的六个类
    2.将6个XXX.h头文件中的 #import “…….EXCEL.EXE”注释掉
    3.将6个头文件加到CXXXXDlg.cpp头文件里
    4.创建两个button按钮,添加代码
    5.添加全局变量用于存储
    6.修改字符集【工程》属性》通用》字符集》Use Multi-Byte Character Set】
    7.CRange.h中DialogBox()前面添加下划线变成_DialogBox()
    至此,编译能够完全通过**
    转自:http://blog.csdn.net/superbfly/article/details/18040445
    我使用的语言是C++,网上有许多这方面的例子,但由于VS与Office版本的问题,都需要一些调整,下面是我在使用时遇到的一些问题集解决方法:

    操作步骤:

    a. project->add class->MFC class from typelib 导入Excel.exe,一般都在C:/Program Files/Microsoft Office/Office14路径下;

    b. 选中以下几项_Application,_WorkSheet,_WorkBook,WorkSheets,WorkBooks,Range,然后导入;

    c. 导入后在工程中添加CApplication,CWorkSheet,CWorkBook,CWorkSheets,CWorkBooks,CRange这些类;

    然后需要把这些类的头文件中的第一句话 #import “…….EXCEL.EXE” nonamespace 删除;

    引入之后如果编译遇到错误,Not enough actual parameters for macro ‘DialogBoxW’. 让人头疼!

    解决方法是在CRange类中,

    VARIANT DialogBox()
    {
    VARIANT result;
    InvokeHelper(0xf5, DISPATCH_METHOD, VT_VARIANT, (void*)&result, NULL);
    return result;
    }

    DialogBox()前面添加下划线变成_DialogBox(),解决了!

  • 相关阅读:
    Redis哨兵模式 (sentinel) (主从复制,读写分离)
    字符串的全排列
    测试链接
    vue数组能触发视图更新的方法
    PyCharm Shortcuts of macOS
    Tweak SecureCRT for macOS
    rsyslogd 以及日志轮替 logrotate
    阿里云服务器常见操作
    sh 启动jar
    招募军队(最小生成树)
  • 原文地址:https://www.cnblogs.com/fag888/p/5789120.html
Copyright © 2020-2023  润新知