在Excel 2003中如何利用VBA实现自动定时完成工作簿复制.doc

在Excel 2003中如何利用VBA实现自动定时完成工作簿复制.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在Excel 2003中如何利用VBA实现自动定时完成工作簿复制

在Excel 2003中如何利用VBA实现自动定时完成工作簿的复制 摘要:excel 是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。本文从某公司内部应用excel进行数据统计出发,采用excel vba功能,轻松实现以日期为文件名的excel文件的自动生成。 关键词:vba 宏 中图分类号:tp tp311 文献标识码:a 文章编号:1007-9416(2012)02-0198-01 excel是大家非常熟悉的办公自动化软件office家族中的一员,是微软公司推出的功能强大的电子表格制作软件。excel不但可以用于个人、办公等有关的日常事务处理,给我们的日常工作带来了很大的方便,而且还被广泛应用于金融、经济、财会等领域。普通用户在使用时可能只局限于简单的电子表格制作及数据的计算,而它的vba编程还具备较为强大的功能。 1、问题的提出 某公司电工每天需要制作格式相同的电子表格一张,用来统计本公司各部门用电及其他情况,并且每张电子表格的题目为当天的日期。要求用excel实现每天开机时自动打开excel应用程序,并且该电子表格文档在打开excel时自动打开,并且在每天10点钟自动生成最后一个工作表的副本并且新工作表的名称为当天的日期(年-月-日格式)。 2、excel中vba简介 vba是visual basic for applications 的缩写,visual basic(vb)在office中的应用版。vba是与vb类似或者说一样的语言,是比较容易学且很好用的语言。在excel中我们可以用vba编程,用过程、函数等实现很多功能,如解决前文中提到的问题。 单击工具菜单,再从级联菜单中选择宏命令,再从级联菜单中选择vba编辑器或按alt+f11,就可以进入vba编辑器,在里面就可以编写代码或查看我们已经编写好的代码。 3、解决上述问题的基本思想 先将excel添加到开机启动;再建立工作簿及第一张符合要求的工作表;将工作簿保存到指定位置,保证打开excel时自动打开指定的工作簿;实现自动定时按要求复制工作簿。 4、具体实施 (1)将excel.exe添加到开机启动中,这样在开启计算机时就可以自动打开excel.exe。 (2)建立excel工作簿,如命名为用“用电情况统计表.xls”,按工作要求制作第一张工作表以,并以当天日期命名如:“2012-1-1”。如果已经有的话这一步可以省掉。 (3)如何在打开excel时自动打开指定文件呢?我们可以这样实现:将“用电情况统计表.xls”保存到c:\documents and settings\administrator\application data\microsoft \excel\xlstart文件夹下,其中administrator为windows用户名。这样在开机时就可以自动打开“用电情况统计表.xls”工作簿了。 (4)下面是自动定时部分的实现;单击“工具”菜单,从级联菜单中选择“宏”命令,再从下一级菜单中选择“代码编辑器”命令,即可打开vba代码编辑窗口。从窗口左侧的“工程资源管理器”中双击sheet1,则为sheet1编写vba代码。 sheet1中代码如下: my_procedure过程:功能是实现复制并命名工作表。 sub my_procedure() sheets(sheets.count).copy after:=sheets(sheets.count) ‘复制工作簿 sheets(sheets.count).name = year(now()) “-” month(now()) “-” day(now()) ‘按指定的当天日期给复制出来的工作簿命名 call run_it ‘调用run_it()过程 end sub run_it过程:功能是定时执行工作表的复制及命名 sub run_it() application.ontime timevalue(“10:00:00”), “sheet1.my_procedure” ‘设置定时器在 10:00:00 激活。 end sub 双击thisworkbook给thisworkbook添加代码:功能是自动运行workbook_open()过程。 thisworkbook ()过程: 功能是调用sheet1的run_it()过程 sub workbook_open() call sheet1.run_it ‘调用sheet1的run_it()过程实现定时自动复制功能 end sub 在上面过程里有个方法是 application.ontime,这个函数是用来安排一个过程在将来的特定时间运行,(可为某个日期的指定时

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档