- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何使用Excel编程实现自定义报表.pdf
VBA编程-Excel加载宏
用VisualBasic、VisualC++ 等开发工具编程时,经常会遇到打印报表的问题。虽然这些开发工具也
提供报表设计功能,但是难以实现一些复杂的功能。一些著名软件公司采用专用的ActiveX控件,如华表
控件 (cell),来让用户能够自定义报表,其风格类似Excel,但是对于一些具有特殊要求的软件项目就不适
用了。利用Microsoft 的VBA对Office稍稍改造,让报表样式的设计和报表的创建都在Office 中进行。
才能真正做到贴身订做、随心所欲的目的。
电能表检定软件的数据库格式是已定的,但是因为用户太多(分布在全国),这些用户对打印格式要求
都不一样,而且还需要经常修改,不仅要修改原始的报表模板,还要对创建出的报表再进行编辑。于是我
们想了一个办法,利用Excel模板(*.dot)来代替报表模板,在Excel模板里,把含有SQL 语句Where
子句的参数的字母和符号放到对应单元格的批注里(如下图)。
然后在VB或VC里控制Excel来替换这些批注。《电脑编程技巧与维护》以前的文章里曾介绍过这方面
的实现方法。这个方法解决了报表灵活修改的问题,但是还存在下面2个难题:
1、批注的难以理解:这些批注由只能由程序员或软件维护人员来添加,因为这些批注是含有字段、SQL子
句参数的字母和符号,对于用户来说是难以理解的,无法做到让用户自己去随意修改。
2、手工操作的困难:当批注很多时,逐个输入这些标记,容易出错的,并且工作量很大。
那么本程序实现的功能就是,通过编写Excel加载宏对Excel功能进行扩展,让Excel具有翻译这些批
注的功能,并且提供一些方法,能够快速设置批注,成批的设置批注,并具有查错功能,让用户只需按照
中文提示点鼠标就可以轻松完成模板的制作。其中效果图如下:
1 6
第 页 共 页
在实现该功能之前,先介绍一下Excel 的VBA和加载宏。加载宏程序是一类程序,它们为 Microsoft
Excel 添加可选的命令和功能。可以这样理解 “加载宏”,它是一个含有VBA代码的Excel文件,后缀名
为 “.xla”,区别于Excel文档 (.xls)和Excel模板 (.xlt),我们制作好该文件后通过 【工具 (T)】【加载宏
(I)】把它加载到内存,从而成为Excel本身的一部分,增强Excel 的功能,加载宏只在后台运行,并且只
加载一次,以后每次启动时都会自动加载。加载宏可以获得对Excel 的整体控制权。
下面开始逐步示范加载宏程序
1. 首先打开Excel, Excel 自动出现一个新建文档,默认名称为“Book1”
2. 选择另存,保存类型选择最后一项 “Microsoft Excel 加载宏”,保存后自动添加后缀名 “.xla”,这
时已经建立了一个空的加载宏文件,假设取名为Sample.xla。有两点需要注意,第一:这个加载宏文
件并没有加载,第二:Book1依然存在,与Sample.xla没有任何关系。如果关闭Excel,然后再打开
Sample.xla,你会发现什么也没有,因为加载宏只在后台出现,在前面没有对应的文档。
3. 关闭Excel,再次打开Excel,然后加载宏,并选择Sample.xla,这样就把Sample.xla加载到了内存,
我们就可以边调试边写程序了。以后再打开Excel就无需再次加载。
4. 按Alt +F11 或选择 【工具(T)】【宏(M)】【Visual Basic 编辑器(V)】进入代码调试界面。
5. 首先我们希望修改Excel菜单,Excel和Word不同,在Excel里通过自定义工具栏对菜单的修改,只
会影响本计算机的Excel,不能通过Excel文件带到另一计算机上,所以必须编写代码,来动态修改菜
单Excel,代码如下。
5.1修改主菜单。
Public Sub 修改菜单栏()
Dim C
Dim x1
Dim Str1 As String
Str1 = Worksheet Menu Bar
Application.CommandBars(Str1).Reset
Set C = Application.CommandBars(Str1).Contro
您可能关注的文档
- 大学物理1-7章知识点梳理.ppt
- 大学物理1.2 速度和加速度.ppt
- 大学物理【第五版下册】第十章波动.ppt
- 大学物理上册电学1.ppt
- 大学物理下 电磁感应习题册讲解.ppt
- 大学物理下册课后答案.pdf
- 大学物理公式总结{特全面}.pdf
- 大学物理动量 动量定理.ppt
- 大学物理同步训练第08章电磁感应.pdf
- 大学物理同步训练第2版第一章质点运动学详解.pdf
- 2024年证券分析与咨询服务项目投资申请报告代可行性研究报告.docx
- 2024年铬酸酐项目资金申请报告代可行性研究报告.docx
- 2024年清洁胶项目资金申请报告代可行性研究报告.docx
- 2024年肉松饼项目投资申请报告代可行性研究报告.docx
- 2024年陆上泵项目资金需求报告代可行性研究报告.docx
- 2024年未硫化复合橡胶及其制品项目资金需求报告代可行性研究报告.docx
- 2024年精密温控节能设备项目资金筹措计划书代可行性研究报告.docx
- 2024年汽车覆盖件模具项目资金筹措计划书代可行性研究报告.docx
- 宋词行书钢笔字帖.pdf
- 我的暑假生活作文三年级300字10篇.pdf
文档评论(0)