zoukankan      html  css  js  c++  java
  • [转载]巧用Excel的宏录制功能,查看对应的Interop.Excel 中的操作代码

       在很多项目中,我们都会用到导出Excel的功能。通常都会用Interop.Excel 这个DLL .
            如果你用对象浏览器去看它的话,你会看到很多的对象属性方法,但是这些都没有说明文字,很少能从字面上理解他的意思,特别是对偶这种英文很差的人来说。更不方便的是,明明某个对象下有很多属性方法,但是你在代码中打“.”的时候,智能提示后面都不会出现方法属性列表,只会有一个GetType(). 郁闷。
            我做的项目的用户对生成的Excel文件有很多要求,比如希望某些单元格的背景是什么颜色的,希望某些单元格是什么公式,希望excel在下面滚动条滚动的时候,前三列永远固定住等等。在EXCEL软件里你可能会做,但是在代码中你不知道哪个属性可以设置,哪个方法可以实现这个功能,这时候怎么办 ?我的一个朋友告诉我这个方法,我今天把它拿来分享。
            EXCEL菜单里有一个宏录制功能,会把在你的操作过程中EXCEL运行的VB代码录下来。
            Tools-->Macro-->Record new macro
            这里会出现一个小窗体

    不用设置就可以了,点OK,接着就出现一个停止按钮,
    等你操作完了点停止就行了。
    接着你就作你想实现的效果,比如前三列固定,你可以选择D列,选择菜单window-->freeze panes
    这样就操作完了,点击停止。

    然后我们就看录下来的VB代码。菜单 Tools-->Macro-->Macros...
    选择Edit,或者直接 Tools-->macro-->Visual Basic Editor

    打开后就看到我们刚才录下的每一步的代码

    Sub Macro3()
    '
    ' Macro3 Macro
    ' Macro recorded 2006-6-23 by Administrator


        Columns("D:D").Select
        ActiveWindow.FreezePanes = True

    End Sub
    原来代码中就是ActiveWindow.FreezePanes 这个东西控制的。
    最后在代码里你就可以这样写
            excelSheet.Cells(1, 3).Select()
            excelApp.ActiveWindow.FreezePanes = True

    这样就完成了。其它效果也是一样,比如设置格式,公式,颜色,样式

        excelSheet.Range(es.Cells(4, 4), es.Cells(4, 7)).Interior.ColorIndex = 44

    怎么样,希望有帮到你。

  • 相关阅读:
    10.9 第七次作业游戏
    10.23 第六次作业 刘惠惠 this关键字
    第五次作业 刘惠惠 自动生成的方法存根
    谷歌历史影像下载
    ArcGIS 基础13-整饰输出
    ArcGIS 基础12-保存文件并打包
    ArcGIS 基础11-专题制图
    ArcGIS 基础10-拓扑校验
    ArcGIS 基础9-属性查询和空间查询
    ArcGIS 基础8-坐标系转换
  • 原文地址:https://www.cnblogs.com/summer_adai/p/1823979.html
Copyright © 2011-2022 走看看