Excel中何如生成随机数据,Excel表格中怎样随机生成整数、小数和字母?( 二 )


笔者在软件开发工作中 , 对VB的自动化功能和Excel的宏功能进行了一定的研究 , 实现了VB与Excel的有机结合 。现提出来与大家探讨 。
一、VB读写Excel表
VB本身的自动化功能可以读写Excel表 , 其方法如下:
1、在工程中引用Microsoft Excel类型库:
从“工程”菜单中选择“引用”栏;选择Microsoft Excel 9 。
0 Object Library (Excel2000) , 然后选择“确定” 。表示在工程中要引用Excel类型库 。
【Excel中何如生成随机数据,Excel表格中怎样随机生成整数、小数和字母?】2、在通用对象的声明过程中定义Excel对象:
Dim xlApp As Excel 。Application
Dim XlBook As Excel 。
WorkBook
Dim xlSheet As Excel 。Worksheet
3、在程序中操作Excel表常用命令:
Set xlApp = CreateObject (“Excel 。Application”)’创建Excel对象
Set XlBook = xlApp 。
Workbooks 。Open(“文件名”) ’打开已经存在的Excel工作薄文件
xlApp 。Visible = True ’设置Excel对象可见(或不可见)
Set xlSheet = xlBook 。Worksheets(“表名”)
xlSheet 。
Cells(row , col) = 值 ’给单元格(row , col)赋值
xlSheet 。PrintOut ’打印工作表
xlBook 。CloseTrue ’关闭工作薄
xlApp 。Quit ’结束Excel对象
Set xlApp = Nothing ’释放xlApp对象
xlBook 。
RunAutoMacros xlAutoOpen ’运行Excel启动宏
xlBook 。RunAutoMacros xlAutoClose ’运行Excel关闭宏
4、在运用以上VB命令操作Excel表时 , 除非设置Excel对象不可见 , 否则VB程序可继续执行其它操作 , 也能够关闭Excel , 同时也可对Excel进行操作 。
但在Excel操作过程中关闭Excel对象时 , VB无法知道 , 如果此时使用Excel对象 , 则VB程序会出现自动化错误 , 形成VB程序无法完全控制Excel状况 , 使得VB与Excel脱节 。
二、Excel的宏功能
Excel 提供了一个Visual Basic编辑器 , 打开Visual Basic编辑器 , 其中有一工程属性窗口 , 点击右键菜单的“插入模块” , 则增加一个“模块1” , 在此模块中可以运用Visual Basic语言编写函数和过程并称之为宏 。
其中 , Excel有两个自动宏:一个是启动宏(Sub Auto_Open()) , 另一个是关闭宏(Sub Auto_Close()) 。它们的特性是:当用Excel打开含有启动宏的工作薄时 , 就会自动运行启动宏 , 同理 , 当关闭含有关闭宏的工作薄时就会自动运行关闭宏 。
但是通过VB的自动化功能来调用Excel工作表时 , 启动宏和关闭宏不会自动运行 , 而需要在VB中通过命令 xlBook 。RunAutoMacros(xlAutoOpen)和xlBook 。RunAutoMacros(xlAutoClose)来运行启动宏和关闭宏 。
三、VB与Excel的相互沟通:
充分利用Excel的启动宏和关闭宏 , 可以实现VB与Excel的相互沟通 , 其方法如下:
在Excel的启动宏中加入一段程序 , 其功能是在磁盘中写入一个标志文件 , 同时在关闭宏中加入一段删除此标志的程序 。
VB程序在执行时通过判断此标志文件存在与否来判断Excel是否打开 , 如果此标志文件存在 , 表明Excel对象正在运行 , 应该禁止其它程序的运行 。如果此标志文件不存在 , 表明Excel对象已被关闭 , 此时如果要使用Excel对象运行 , 必须重新创建Excel对象 。
四、举例
1、在VB中 , 建立一个FORM , 在其上放置两个命令按钮 , 将Command1的Caption属性改为Excel , Command2的Caption属性改为End 。然后在其中输入如下程序:
Dim xlApp As Excel 。
Application '定义Excel类
Dim xlBook As Excel 。Workbook '定义工作薄类
Dim XlSheet As Excel 。Worksheet '定义工作表类
Private Sub Command1_Click() '打开Excel过程
If Dir(“D:\temp\ ”)= “”Then '判断Excel是否打开
Set xlApp = CreateObject(“Excel 。
Application”) '创建Excel应用类
xlApp 。Visible = True '设置Excel可见
Set xlBook = xlApp 。Workbooks 。Open(“D:\temp\bb 。xls”) '打开Excel工作薄
Set xlSheet = xlBook 。
Worksheet(1) '打开Excel工作表
xlSheet 。Activate '激活工作表
xlSheet 。Cells(1 , 1) = “abc” '给单元格1行驶列赋值
xlBook 。RunAutoMacros(xlAutoOpen) '运行Excel中的启动宏

推荐阅读