靠谱电子书 > 经管其他电子书 > excel_vba_编程教程(完整版) >

第9部分

excel_vba_编程教程(完整版)-第9部分

小说: excel_vba_编程教程(完整版) 字数: 每页4000字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



一个可用的文件号。 reclength 可选。小于或等于 32,767(字节)的一个数。对于用随机访 
问方式打开的文件,该值就是记录长度。对于顺序文件,该值就是缓冲字符数。  
说明 对文件做任何 I/O 操作之前都必须先打开文件。Open 语句分配一个缓冲区供文件进行  
I/O 之用,并决定缓冲区所使用的访问方式。如果 pathname 指定的文件不存在,那么,在用  
Append、Binary、Output、或 Random 方式打开文件时,可以建立这一文件。如果文件已由其 
它进程打开,而且不允许指定的访问类型,则 Open 操作失败,而且会有错误发生。如果 mode  
是 Binary 方式,则 Len 子句会被忽略掉。  
重要 在 Binary、Input 和 Random 方式下可以用不同的文件号打开同一文件,而不必先将该 
文件关闭。在 Append 和 Output 方式下,如果要用不同的文件号打开同一文件,则必须在打 
开文件之前先关闭该文件。  
读入  
Input #filenumber; varlist 从已打开的顺序文件中读出数据并将数据指定给变量  
Get '#'filenumber; 'recnumber'; varname 将一个已打开的磁盘文件读入一个变量之中。  
写入  
Write #filenumber; 'outputlist' 将数据写入顺序文件  
Print #filenumber; 'outputlist' 将格式化显示的数据写入顺序文件中  
Put '#'filenumber; 'recnumber'; varname 将一个变量的数据写入磁盘文件中。  
关闭  
Close 'filenumberlist' 关闭 Open 语句所打开的输入/输出 (I/O) 文件  
注意 如果今后想用 Input # 语句读出文件的数据,就要用 Write # 语句而不用 Print # 语 
句将数据写入文件。因为在使用 Write # 时,将数据域分界就可确保每个数据域的完整性,因 
此可用 Input # 再将数据读出来。使用 Write # 还能确保任何地区的数据都被正确读出。Write  
与 Print # 语句不同,当要将数据写入文件时,Write # 语句会在项目和用来标记字符串的引 
号之间插入逗号。Write # 语句在将 outputlist 中的最后一个字符写入文件后会插入一个新 
行字符,即回车换行符,(Chr(13) + Chr(10))。  
其他文件函数  
LOF(filenumber)  返回一个 Long,表示用 Open 语句打开的文件的大小,该大小以字节为单 
位。  
EOF(filenumber)  返回一个 Integer,它包含 Boolean 值 True,表明已经到达为 Random 或 
顺序 Input 打开的文件的结尾。  
Loc(filenumber)   返回一个 Long,在已打开的文件中指定当前读/写位置  
Seek(filenumber)  返回一个 Long,在 Open 语句打开的文件中指定当前的读/写位 

                                            7 

… 页面 17…

Visual BASIC 程序设计网络教学                                                 橄榄树 
整                                                                                 理 
  

                          二、Visual BASIC 程序设计网络教学  

                                  第一课 VBA 是什么  

1。1 VBA 是什么  

    直到 90 年代早期;使应用程序自动化还是充满挑战性的领域。对每个需要自动化的应用程 
序;人们不得不学习一种不同的自动化语言。例如:可以用 EXCEL 的宏语言来使 EXCEL 自动化;使 
用 WORD BASIC 使 WORD 自动化;等等。微软决定让它开发出来的应用程序共享一种通用的自动化 
语言Visual Basic For Application(VBA);可以认为 VBA 是非常流行的应用程序开发 
语言 VASUAL BASIC 的子集。实际上 VBA 是〃寄生于〃VB 应用程序的版本。VBA和 VB 的区别包括如 
下几个方面:   
    1。 VB 是设计用于创建标准的应用程序;而 VBA 是使已有的应用程序(EXCEL 等)自动化  
    2。 VB 具有自己的开发环境;而 VBA 必须寄生于已有的应用程序。  
    3。 要运行 VB 开发的应用程序;用户不必安装 VB;因为 VB 开发出的应用程序是可执行文件 
(*。EXE);而VBA 开发的程序必须依赖于它的〃父〃应用程序;例如 EXCEL。   
    尽管存在这些不同;VBA和VB在结构上仍然十分相似。事实上;如果你已经了解了VB;会发现 
学习VBA非常快。相应的;学完VBA会给学习VB打下坚实的基础。而且;当学会在EXCEL中用VBA 
创建解决方案后;即已具备在 WORD ACCESS OUTLOOK FOXPRO PROWERPOINT 中用 VBA 创建解决方 
案的大部分知识。  
    * VBA 一个关键特征是你所学的知识在微软的一些产品中可以相互转化。  
    * VBA 可以称作 EXCEL 的〃遥控器〃。  
    VBA 究竟是什么?更确切地讲;它是一种自动化语言;它可以使常用的程序自动化;可以创建 
自定义的解决方案。   
     此外;如果你愿意;还可以将 EXCEL 用做开发平台实现应用程序。  

1。2 EXCEL 环境中基于应用程序自动化的优点   

    也许你想知道 VBA可以干什么?使用 VBA 可以实现的功能包括:   
    1。 使重复的任务自动化。  
    2。 自定义 EXCEL 工具栏;菜单和界面。  
    3。 简化模板的使用。  
    4。 自定义 EXCEL;使其成为开发平台。  
    5。 创建报表。  
    6。 对数据进行复杂的操作和分析。  
    用 EXCEL 作为开发平台有如下原因:   
    1。 EXCEL 本身功能强大;包括打印;文件处理;格式化和文本编辑。  
    2。 EXCEL 内置大量函数。  
    3。 EXCEL 界面熟悉。  
    4。 可连接到多种数据库。  
    用其他语言开发应用程序;一半的工作是编写一些基本功能的模块;包括文件的打开和保存; 
打印;复制等。而用 EXCEL 作为开发平台;则由于 EXCEL 已经具备这些基本功能;你要做的只是使 
用它。  

    1。3 录制简单的宏   

    在介绍学习 VBA 之前,应该花几分钟录制一个宏。  
    新术语:〃宏〃,指一系列 EXCEL 能够执行的 VBA 语句。   
    以下将要录制的宏非常简单,只是改变单元格颜色。请完成如下步骤:   
    1)打开新工作簿,确认其他工作簿已经关闭。  
    2)选择A1 单元格。调出〃常用〃工具栏。  
    3)选择〃工具〃…〃宏〃…〃录制新宏〃。  
    4)输入〃改变颜色〃作为宏名替换默认宏名,单击确定;注意,此时状态栏中显示〃录制〃,特 
别是〃停止录制〃工具栏也显示出来。替换默认宏名主要是便于分别这些宏。  
    ★ 宏名最多可为 255 个字符,并且必须以字母开始。其中可用的字符包括:字母、数字和 

                                          1 

… 页面 18…

Visual BASIC 程序设计网络教学                                                 橄榄树 
整                                                                                 理 
下划线。宏名中不允许出现空格。通常用下划线代表空格。  
    5)选择〃格式〃的〃单元格〃,选择〃图案〃选项中的红色;单击〃确定〃。  
    6)单击〃停止录制〃工具栏按钮,结束宏录制过程。  
    ※ 如果〃停止录制〃工具栏开始并未出现,请选择〃工具〃…〃宏〃…〃停止录制〃。  
    录制完一个宏后就可以执行它了。  
    

    1。4 执行宏  

    当执行一个宏时,EXCEL 按照宏语句执行的情况就像 VBA 代码在对 EXCEL 进行〃遥控〃。但 
VBA 的〃遥控〃不仅能使操作变得简便,还能使你获得一些使用 EXCEL 标准命令所无法实现的功 
能。而且,一旦熟悉了 EXCEL 的〃遥控〃,你都会奇怪自己在没有这些〃遥控〃的情况下,到底是 
怎么熬过来的。要执行刚才录制的宏,可以按以下步骤进行:   
    1)选择任何一个单元格,比如 A3。  
    2)选择〃工具〃…〃宏〃…〃宏〃,显示〃宏〃对话框。  
    3)选择〃改变颜色〃,选择〃执行〃,则 A3 单元格的颜色变为红色。试着选择其它单元格和 
几个单元格组成的区域,然后再执行宏,以便加深印象。  

    1。5 查看录制的代码  

    到底是什么在控制 EXCEL 的运行呢?你可能有些疑惑。好;让我们看看 VBA 的语句吧。   
    1)选择〃工具〃…〃宏〃…〃宏〃,显示〃宏〃对话框。  
    2)单击列表中的〃改变颜色〃;选择〃编辑〃按钮。   
    此时,会打开 VBA 的编辑器窗口(VBE)。关于该编辑器,以后再详细说明,先将注意力集 
中到显示的代码上。代码如下:(日期和姓名会有不同)  
Sub 改变颜色()  
'  
' 改变颜色 Macro  
' xw 记录的宏 2000…6…10  
'  
'  
With Selection。Interior  
lorIndex = 3  
。Pattern = xlSolid  
。PatternColorIndex = xlAutomatic  
End With  
End Sub  
将来会十分熟悉这种代码,虽然现在它们看上去像一种奇怪的外语。学习 VBA 或编程语言在某 
种程度上比较像在学习一种外语。  
Sub 改变颜色():这是宏的名称。  
中间的以〃 '〃开头的五行称为〃注释〃,它在录制宏时自动产生。  
以 With 开头到 End With 结束的结构是 With 结构语句,这段语句是宏的主要部分。注意单词 
〃selection〃,它代表〃突出显示的区域〃(即:选定区域)。With Selection。Interior :它读 
作〃选择区域的的内部〃。这整段语句设置该区域内部的一些〃属性〃。  
其中:  
lorIndex = 3: 将该内部设为红色。注意:有一小圆点,它的作用在于简化语句,小圆点代 
替出现在 With 后的词;它是 With 结构的一部分。另外:红色被数字化为 3。(红色警戒是否可称 
作:3 号警戒,嗯?)有兴趣的话,你将 3 改为其他数字试试看。  
。Pattern = xlSolid:设置该区域的内部图案。由于是录制宏,所以,虽然你并未设置这一项, 
宏仍然将其记录下来(因为在〃图案〃选项中有此一项,只是你未曾设置而已)。xlSolid 表示纯 
色。  
。PatternColorIndex = xlAutomatic:表示内部图案底纹颜色为自动配色。  
End With:结束 With 语句。  
End Sub:整个宏的结束语  

                                          2 

… 页面 19…

Visual BASIC 程序设计网络教学                                                    橄榄树 
整                                                                                    理 
    1。6 编辑录制的代码   

     在上一节,我们录制了一个宏并查看了代码,代码中有两句实际上并不起作用。哪两句? 
现在,在宏中作一个修改,删除多余行,直到和下面代码相同:  
Sub 改变颜色()  
'  
' 改变颜色 Macro  
' xw 记录的宏 2000…6…10  
'  
'  
With Selection。Interior  
lorIndex = 3  
End With  
End Sub   
    完成后,在工作表中试验一下。你会发现结果和修改前的状况一样。在 With 语句前加入 
一行:  
Range(〃A5〃)。Select  
    试着运行该宏;则无论开始选择哪个单元格;宏运行结果都是使 A5 单元格变红。   
    现在可以看到,编辑录制的宏同样非常简单。需要编辑宏是因为以下三个方面的原因。一: 
在录制中出错而不得不修改。二:录制的宏中有多余的语句需要删除,提高宏的运行速度。三: 
希望增加宏的功能。比如:加入判断或循环等无法录制的语句。  

    1。7 录制宏的局限性  

    希望自动化的许多 EXCEL 过程大多都可以用录制宏来完成。但是宏记录器存在以下局限性。 
通过宏记录器无法完成的工作有:   
    1)录制的宏无判断或循环能力。  
    2)人机交互能力差;即用户无法进行输入;计算机无法给出提示。  
    3)无法显示 EXCEL对话框。  
    4)无法显示自定义窗体。  

    1。8 小结  

    本课中;你已经掌握了 VBA 的一些基础知识;你会录制宏、编辑宏而且了解了录制宏的局限 
性。你很努力。并且已经为将来学习 VBA 甚至 VB 等编程语言打下了基础。关键是你已经了解了一 
个谜底;就是说;你了解了什么是编程。下面是些小练习;做完后才可以去玩哟。  
    思考:  
    1)VBA 只能用于 EXCEL 吗?  
    2)VBA 是基于哪种语言?  
    3)说说EXC

返回目录 上一页 下一页 回到顶部 0 0

你可能喜欢的