学习VBA编程【最完整的】(419页).docx

上传人:1595****071 文档编号:36328931 上传时间:2022-08-26 格式:DOCX 页数:416 大小:641.62KB
返回 下载 相关 举报
学习VBA编程【最完整的】(419页).docx_第1页
第1页 / 共416页
学习VBA编程【最完整的】(419页).docx_第2页
第2页 / 共416页
点击查看更多>>
资源描述

《学习VBA编程【最完整的】(419页).docx》由会员分享,可在线阅读,更多相关《学习VBA编程【最完整的】(419页).docx(416页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-学习VBA编程【最完整的】-第 416 页第二章 第一步作者: 翻译: 28 2004语言学习是一个长期的活动,在此过程中,你会经历不同的阶段,由生疏到熟悉。学习编程也是一样的,没有捷径。要想精通,你必须从一个初级阶段起步(第二至四章)。只有当你对后面的一些基本的东西有了很好的理解之后,才能提高到中级阶段(第五至七章)和高级阶段(第八至十七章)。但是,重要的事情先来。在你能够用自由自在地控制之前,你需要获得一些你的术语和语法。在里,如何表达这些?“在工作簿里添加一个新工作表”,“删除单元格A5的内容”,“将单元格A1的公式复制到单元格B1”?你也许知道这些单个的词语,然而,你怎么知道如何将它

2、们正确地组合在一起,才能执行这些任务?你将在本章中学习的术语和规则。1了解指令,模块和过程 2010-7-24在第一章,你学习到了宏录制器创建的一系列指令是和你实际进行的操作完全等同的。这些指令自动地放在工作簿里一个叫做“模块”的表里。将模块储存在模块文件夹里,这个文件夹在当前工作簿,新工作簿或者个人宏工作簿里面。你必须激活编辑器窗口,并且双击工程浏览器里的模块文件夹才能查看到这些模块。当模块表在代码窗口里打开了后,你才能最后分析你的过程代码。所有录制的指令都包括在“过程”里面。过程里面的每一行都是一个“指令”。指令的类型有很多中,例如,关键词,运算符,或者其它过程的调用。“关键词”代表中的一

3、个特殊的意义。在第一章中,你学习了最常见的关键词 和 ,它们表示一个过程的开始和结束。关键词默认地显示为蓝色。你不要将这些术语做其它的目的,因为关键词已经被保护了。除了关键词,指令里还可以有运算符。运算符有四种类型:算术运算,字符串连接,逻辑运算和比较运算。“运算符”允许你将某些值结合起来。例如,减号运算符(/)可以用来计算总数的百分比。本书中,你有很多机会看到如何在过程中使用运算符。指令的另外一种类型是过程调用。过程调用让你快速地跳到其它过程并且执行其它指令。是不是很难想象?让我们看一下你在第一章中录制的宏。 假设你也需要包含同一模块中宏中的一些语句。怎么做呢?你可以复制需要的代码行,再粘贴

4、过去。然而,有一种更简单快速的方法。你可以调用这个过程,而不需要在两个过程中复制。例如,你想在遇到指令 所有操作都已完成之前执行宏里面的指令,只要添加下面一句代码就行:当到达这一行,它就会立即跳到过程并且执行它的代码。之后,它会回到宏去执行剩下的代码,遇到关键词 时则停止。在你尝试这个例子之前,你必须学会如何给过程和模块命名,已经如何调用不同工程里的过程。2 工程命名工程是一套对象,模块,窗体和引用。除了这个位于工程浏览器中工作簿名称之前默认名称,每个工程需要一个独特的名称。我们来给 (01) 和 ()命名:1. 启动,打开01,这里储存了宏代码。你录制了宏的个人宏工作簿会自动开启2. 切换到

5、编辑器窗口3. 选择 (01)4. 双击属性窗口里的名称属性,这个操作选中了默认的工程名称5. 输入“”作为该工程的名称,回车。注意,工程浏览器现在显示的是名称是 (01)6. 在工程浏览窗口选择 ()7. 双击属性里的名称属性8. 输入“”作为它的名称,回车技巧21 避免名称冲突为了避免工程之间的命名冲突,请给你的工程独特的名称。你可以使用下述方法之一来更改工程名称: 在工程浏览器窗口,选择工程名称,双击属性窗口里的名称属性,再输入新的名称 在工程浏览器窗口,在工程名称上单击右键,并且选择“工程名称属性”。出现如图21显示的工程属性对话框,在工程名称文本框里面输入新的名称图21 工程属性窗口

6、可以用来更改当前被选中的工程名称和描述3模块重命名当你录制宏或者创建新的过程时,会创建一个模块文件夹来储存你的 代码。 第一个文件夹叫“模块1”,第二个叫“模块2”,等等。你打开一个新的工作簿并且创建工程时,新工程里的模块文件夹又会命名为“模块1”,“模块2”,等等。模块拥有相同的名称不但对你,而且对造成很大混淆,因为,它要在一个打开许多工程的环境中执行你的宏或工程。为了避免模块混淆,给 (01) 工程和 () 工程里的“模块1”重新命名:1. 在工程浏览器窗口,选择 (01)工程,并且选择“模块1”2. 双击属性窗口里的名称属性,这个动作选中了模块的默认名称“模块1”3. 输入“”作为模块1

7、的名称,并且回车。注意,工程浏览器窗口现在显示的模块名称是“”4. 在工程浏览器窗口选择 ()5. 双击属性窗口里的名称属性6. 输入“”作为模块1的名称,回车图22 工程浏览器窗口显示通过属性窗口给工程和模块设置的独特名称4从其它工程调用过程你只要明确过程名称,就可以调用这个在同一个工程里任何模块里的过程。假设过程和宏在同一个工程里的不同模块(或者同一个模块),在宏里面调用过程,你所要做的所有工作只是明确过程名称,示例如下: 然而,如果两个或者两个以上的模块含有这个相同的过程名称,你除了要明确过程名称外,还必须包括模块名称。假设工程 (01)有三个模块。模块包含宏,但是,模块和模块都含有一个

8、叫的宏。如何在调用(模块里面的)?请看下面例子: 要调用其它工程里的过程,你必须建立对该工程的引用。你可以在“引用”对话框进行这些操作。因为在 ()工程里,在你能够从调用它之前,你需要添加对“”的引用。下面是几种建立引用的方法:1. 在工程浏览器窗口,点击 (01)2. 选择“工具”“引用”3. 在引用对话框,选中“”旁边的勾选框(参见图23),然后点击确定(译者:在截图前,我并没有保存,所以在附图里没有一行,如果你依照书中一步一步走下来,应该没有问题)图23 引用对话框列出了所有这个工程可以引用的工程。如果你想要执行其它工程里的过程,你就必须建立对这个工程的引用既然对“”工程的引用已经建立了

9、,我们就来从里调用吧。1. 在工程浏览器窗口,选择 (01)并且定位到含有的模块2. 在 所有操作都已完成之前增加一空白行,并且输入代码:3. 返回到界面,确保当前工作表是这个例子数据(参见第一章的图11)4. 使用任何你在第一章里学到的方法来运行宏如果你给两个不同工程里的不同过程以相同的名称,那么你必须明确工程名称才能调用它。我们假设 (01)工程和 () 工程里都有叫的宏,要调用 ()工程里的(记住,你已经必须先建立对的引用),必须包括工程名称: 技巧22 如何定位被调用的过程当你调用一个过程,先在主调方()的同一个模块里查找。如果没有找到被调过程(),就会在同一个工程的其它模块里查找。如

10、果还是找不到,则会检查对其它工程的引用。技巧23 工程名称不在引用对话框如果你想要调用一个当前关闭的工程里的过程,当你打开引用对话框试图建立引用时,这个过程名称不在清单中。点击“浏览”,并且打开被调用过程所在的文件夹。添加引用的对话框默认地列出数据库文件(*, , )。从文件类型的下拉清单中选择文件(*, *),选择并打开含有你要调用过程的文件。这个工程的名称将会加在引用对话框的最后一行。5了解对象,属性和方法使用,你可以创建工程控制的许多东西,你同样也可以控制很多其它的应用程序。的伟大来自于它的控制和管理各种各样的对象的能力。但是,“对象”是什么呢?“对象”是你通过控制的东西。工作簿,工作表

11、,工作表里的单元格区域,图表或者工具条,这些只是一些用时想要控制的东西的举例。这些东西就是对象。含有超出一百种你可以通过不同方式操作的对象。所有的对象都被分层规类。一些对象本身又可能含有其它的对象,例如,时一个应用对象,这个应用对象包含其它对象,例如工作簿或者命令条。工作簿对象可能包含其它对象,如工作表或者图表。你将在本章种学习如何控制以下对象:区域,窗口,工作表,工作簿和应用。我将“区域”列在了第一位置,有一个非常重要的原因,如果你不知道如何操作单元格区域的话,你基本上不能用电子表格来做什么。某些对象看上去相似。如果你打开一个新工作簿,检查它的工作表,你不会发现什么不同。一组相似的对象被称为

12、“集合”。例如,工作表的集合包含所有具体工作簿中的工作表;命令条的集合包含所有的工具条和菜单。集合同样是对象。中使用得最频繁的集合是表()集合,它代表所有的工作表和图表,还有工作簿集合,工作表集合以及窗口集合。当你使用集合时,相同的动作可以在这个集合中所有的对象上执行。每一种对象都有一些特征供你描述。在里,这些对象的特征被称为“属性”。例如,工作簿对象有名称属性;区域对象有列,字体,公式,名称,行,样式和值等属性。这些对象属性是可以设置的。你通过设置对象的属性控制对象的外观和位置。对象属性一次只能设置为一个特定的值。例如,当前工作簿不可能同时有两个不同的名称。中最难理解的部分是有些属性同时又可

13、以是对象。想想区域()对象,你可以通过设置字体颜色来改变选定单元格的外观。但是,字体()可以有不同的名称( , , ),不同的字号(10,12,14,)和不同的样式(粗体,斜体,下划线,)。这些是字体的属性。如果字体有属性,那么字体也是对象。属性真是了不起,让你改变对象的外观,但是,如何控制这些操作呢?你在使为你执行任务之前,你需要知道另外一个术语。对象有方法。每一种你想要对象做的操作都被称为“方法”。最重要的方法是方法。你可以使用这个方法添加一个新工作簿或者工作表。对象可以使用不同的方法。例如,区域()对象有专门的方法让你清除单元格内容(方法), 清除格式(方法)以及同时清除内容和格式(方法

14、)。还有让你选择,复制或移动对象的方法。方法有可选择的参数确定方法执行的具体方式。例如,工作簿()对象有一个叫关闭()的方法。你可以使用它关闭任何打开了的工作簿。如果工作簿有改动,会弹出一个信息,问你是否要保存变化。你可以使用关闭方法和设定它的保存变化()参数为假()来关闭这个工作簿并且不管它的任何变化。正如例子:(01) 6学习对象,属性和方法当你学习新的事物时,理论会给你必须的背景,但是,你如何真正知道那是什么呢?大多数人习惯形象思维,为了使对象易于理解,在线帮助提供了一个对象模型,请看接下来的附图。注意,对象位于树型图的最上端,它实际上代表本身。其它对象在较低的层次。假设你想要控制对象,

15、在你能够控制任何对象之前,你必须对它创建引用。为了获得下图中的对象,只要遵照下面几行代码。每次看到树型图中的线指向不同的层时,你只要巧妙地将线换成一个逗点运算符(停顿,英文状态下的句号)。这样,最终你会以下面的方式到达对象:你可以使用对象树型图来寻找到其它对象的路径,例如窗口(),批注(),自动筛选()或者绘图区()。分析对象模型是一个学习对象的非常好的方法。你花在这里的时间,以后你开始编写过程的时候,会给你加倍的回报。通常,你需要明确你引用的对象的名称。现在,我们来点更具体的。假设你要清除单元格A4里的内容。手动做这个时,只要选择单元格A4然后按下键盘上的键就可以了。用做同样的操作,你首先需

16、要知道如何使选中了正确的单元格。单元格A4和其它的工作表单元格一样,是对象。没有方法来清除单元格内容,取而代之的是方法,例如:(A4)注意在对象名称和方法之间的逗点运算符。这个指令去除单元格A4里的内容。然而,如何使清除工作簿02第一个工作表里单元格A4的内容呢?我们仍然假设打开了好几个工作簿。图24 对象树型图(第一页)(译者:原书图25(工作簿对象树型图)已包含在内,故在此略过)如果你不希望最后在错误的工作簿或工作表里删除了A4里的内容,那么你必须写下详细的指令,这样就知道在哪里找这个单元格:(02)(1) (A4)上面的指令应该写成一行,并且应该从右到左阅读:清除单元格A4里的内容,这个

17、单元格在一个叫“1”的工作表里,而这个工作表又在一个叫“02”的工作簿里面,工作簿“02”又应该是应用程序的一部分。注意,集合名称的后面带有一个字母“s”:和。所有引用的工作簿,工作表或单元格名称都必须用引号(译者:英文状态的引号)包括起来。如何找到对象树型图?选择界面上的“帮助” “帮助”“编程信息”“微软 参考”“对象模型”。(译者:2002版有全局的对象模型,2003版好像没有这个。)除了对象,你还可以使用,和,对象模型。属于这些数据库()中的对象都可以用在中,也可以用在家族中的其它应用软件中。在十五章,你可以看到使用和对象,从进入数据库的例子。图26 对象() 技巧24 和 的早期版本

18、在线帮助列出了对象模型从早期版本以来的变化。许多对象,属性和方法都已经被更新的,改进的特色所代替了。为了提供兼容性,被取代的对象已经被隐藏起来了(译者:它们仍然是可用的)。打开编辑器窗口上的在线帮助,隐藏的对象同样可以在对象浏览器里找到。如果你在对象浏览器窗口上单击右键,你可以选择显示隐藏成员的选项。你将在以后的章节中学习如何使用对象浏览器。7句法和文法既然现在你已经知道了的一些基本组成要素(对象,属性和方法),是时间开始使用它们了。但是,你怎么将对象,属性和方法连接成正确的语言结构呢?每种语言都有语法规则,人们必须遵循语法以确保他们被理解了。无论你说的是英语,西班牙语,法语还是其它语言,你在

19、读,写的时候都必须遵从一定的规则。在编程中,我们使用“句法”()这个术语来更确切地明确它的语言规则。你可以在在线帮助或者在对象浏览器窗口查找每个对象,属性或方法的句法。下面列出一些你必须的常用规则:n 规则1:引用对象的属性如果这个属性没有自变量,使用下面的句法:对象是一个占位符,是你放置你想要进入的实际对象名称的地方。属性同样也是一个占位符,你可以在这里放置该对象的特点。例如:指向工作表中单元格A4中输入的值,见下述指令:(A4)注意对象名称和属性之间的句号。当你需要进入一个存在于多个其它对象里的对象的属性时,你必须按顺序地写上所有对象的名称,并且用 句号运算符分开。例如:(2)这个例子指向

20、当前工作表里图形()集合里的第二个对象里的直线()对象的粗细()属性。有些属性要求一个或多个自变量。例如,使用偏移()属性,你可以选择一个和当前单元格相对位置的单元格。属性需要两个自变量,第一个自变量为行号()第二个是列号()。 对象 属性 自变量(3, 2)在上面的例子中,假设当前单元格是A1,(3, 2)将会指向往下3行和往右两列的单元格,也就是单元格C4。因为,在括号内的自变量总是很难理解,通常操作是将它们的名称也列上,见下例:(3, 2)注意,自变量名称后面总是跟着一个冒号和一个等于号()。如果你使用带名称的自变量,你可以任意顺序地列出它们,上面的指令也可以写成这样:(2, 3)改后的

21、指令没有改变意思,你仍然指向单元格C4。然而,如果你改变(3, 2)中自变量的次序,结果你会指向D3,而不是C4。n 规则2:改变对象的属性是一个新的你要赋给该对象属性的值。这个值可以是: 一个数字(A4) = 25上面的指令在当前工作表的单元格A4里输入数字25 在引号里的文本上面的指令将当前单元格字体改为 逻辑值(或)上面的指令设置当前单元格的字体为粗体。n 规则3:返回对象属性的当前值(变量)是将要储存属性设置的地方的名称,你将在第三章里学习关于变量的知识。 变量 对象 属性 = (“A4”)上面的指令将当前A4单元格里的值保存到变量。n 规则4:指向对象的方法如果该方法没有自变量,那么

22、句法应该是:对象是一个占位符,是你放置你想要进入的实际对象名称的地方。方法同样也是一个占位符,你可以在这里放置要对该对象的进行的操作的名称。例如,可以使用下述指令来清除单元格A4的格式(译者:应该是内容):对象 方法(A4)如果该方法可以使用自变量来限制,那么句法为: (1, 2, )例如,使用方法,你可以快速地选择工作表里的任何区域。方法的句法为:(, )对象(参照, 窗口滚动)自变量是目标单元格或者区域,自变量可以设定为真()让窗口滚动到该目标地址出现在窗口的左上角;或者设定为假(),窗口不滚动(译者:系统默认为)。例如,下面的语句选择工作表1里的单元格P100,并且窗口滚动: _ (1)

23、(P100), _ 上面的指令没有固定在一行,使用了一条特殊的线(下划线)将它分为几段。下面的部分将讲述这个。8打断很长的语句尽管一行代码最多可以包含1024个字母,但是,为了使你个过程容易阅读,最好将长的语句打断为两行甚至多行。使用一个专门的连续线(下划线)置于一行代码的末尾,表明下一行是这行的连续。例如: _ , _ , _ : , _ 这个连续符是下划线,你必须在下划线之后带一个空格。你可以在下述几种情况中使用连续符:n 运算符之前或者之后。例如:&,+,n 逗号之前或者之后n 冒号和等号()之前或者之后n 等号之前或者之后你不可以在冒号和等于号之间使用连续符,例如,下面的代码是不认的:

24、 : _ , : _ , : _ , : _ : _ , : _ , : _ , : _ 同样,在引号之内的文本之间加连续符也是不对的,例如,下面的下划线的使用是无效的: , _ 上面的指令应该打断为如下代码: , & _ 9了解错误在编写或编辑过程之中,无论你多名小心,出错的可能性还是很打的。例如,你可以错误拼写一语句,放错了一个逗号或引号,或者忘记了一个句号或右括号。这些类型的错误称为句法错误。幸运的是,比较容易帮助你发现这种类型的错误。为了让在你输入一行代码后,自动帮你检测语法的正确性,你需要在窗口的“工具”“选项”里,确保勾选了“编辑器”页上的“自动语法检测”。图27 选项对话框的编辑

25、器上的“自动语法检测”帮你检查过程里的打字错误当发现语法错误时,弹出一个错误信息框,并且将有误的代码行颜色变为红色(参见图28)或者其它在选项对话框“编辑器格式”页设定的颜色。如果错误信息框上的解释不够清楚,你总是可以点击“帮助”按钮寻求更多的帮助。再如果在线帮助无法给你提供正确的方向,那么返回你的程序,仔细检查有误的那行代码是否漏掉了字母,引号,句号,冒号,等于号,左括号和右括号等。图28 这个错误由于漏掉了常数前面的括号而产生图29 当试图在工作表或单元格区域里选择一个并不存在的单元格时,就会产生一个运行时间错误查找语法错误可能是烦人的并且费时的事情。有些语法错误只有在过程运行的时候才能被

26、发现。在试图运行你的过程的时候,可能找到那种因为使用了无效的自变量,或者是漏掉了那些需要成对使用的指令如语句和循环结构,而造成的错误。技巧25:程序调试你很可能不只一次听过“计算机程序里充满了错误”。在编程里,错误就被称为“”(错误,漏洞),而“调试”()则是给你的程序除错的过程。调试的第一步就是改正所有的语法错误。提供了无数种工具,你可以使用它们来追踪和消除错误。在本章中,你将知道如何使用助手帮助你在编写程序时出现尽可能少的错误;在第十三章中,你将学习如何使用专门的调试工具来捕获你程序里的错误。除了语法错误外,还有其它两种错误:运行时间和逻辑。运行时间错误发生在过程运行的时候。图29显示了一

27、种典型的运行时间错误。运行时间错误经常发生在那些程序员在编写代码的时候没有想到的情况。例如,当程序试图访问一个用户电脑上并不存在的驱动器或者文件,或者没有首先检查是否用户插入软盘并关闭软驱口而试图复制一个文件到软盘,这时就会发生运行时间错误。第三种错误逻辑错误,通常不会发出明确的错误信息。过程可能没有语法错误,甚至运行无误,然而,得到的却是错误的结果。逻辑错误通常非常难以查找,并且它藏得很隐秘,间歇发生,你不能指望花几个小时,甚至几天,就能找到错误源。10查找帮助当你使用宏录制器时,你所有的操作都被翻译成指令,并且放置在一个模块里。你在研究这些录制的过程时,不要忘记帮助随时可用。你会发现有些代

28、码的意思可能会非常易懂,然而,有效却不怎么明白。这时候,你就需要寻求帮助了。当你独自工作时,只要轻轻一点或者轻轻一按就可以请教你的老师了。使用在线帮助比使用词典或参考手册要快捷和容易得多。如果你讨厌一页一页地在词典里找你需要的术语,你将惊讶于你如何快地从代码窗口找到需要的帮助页面。让我们来检查你如何通过内置的老师的帮助,将过程里的第一句变成你自己的词汇:(, 2)上面的指令可以打断为三部分,哪些部分?是对象还是属性?是什么?是什么?要回答这些问题,请依照下面的操作:1. 激活你要分析的过程的代码窗口2. 点击你不懂的词语3. 按下F1图210 的对象,属性和方法在在线帮助里解释得很详细帮助就会

29、显示相应的页面。如果你的光标放在词语“”中间,你就会知道可以是一个应用程序的属性,也可以是一个窗口对象。如果你的光标在下一个不明白的术语()并且按上面的步骤再做一遍后,你将看到帮助屏幕(参见图210)。注意,每个帮助主题包含许多信息。被查找的指令类型显示在帮助窗口的上面;指令的类型允许词语分类。例如,是方法,可以使用这个方法的对象名称列在“应用于”下面(译者:点击“应用于”,出现对象名称列表)。指令名称下面的“参阅”和“示例”让你快速地跳到其它应用或意义相似的指令,以及查看使用这个指令的例子。指令的意义显示在“参阅”和“示例”标题的下面。接下来则是语法和需要的自变量和其它参数。“说明”部分给出

30、一些推荐使用该指令的情形。你可以很容易地将示例中的代码复制到你的过程中去:选中你要复制的代码行,按下,或者单击右键,选择快捷菜单上的“复制”,然后切换到代码窗口,点击你需要粘贴代码的地方,再按下或者选择“编辑”“粘贴”。11语法和编程快捷助手编辑器窗口上的“编辑”工具条上有很多按钮,帮助你快速容易地输入正确格式的指令。如果“编辑”工具条目前在编辑器窗口上不可连接,那么你可以选择“视图”“工具条”图211 编辑工具条上的按钮使得编写程序和设置指令格式变得很容易 在中编写过程需要你使用成百上千的内置指令和函数。因为大多数人们无法学习所有里可用指令的语法,提供了你所需求的语法和编程帮助。当你在代码窗

31、口编程时,经常会有专门的窗口弹出来,引导你完成正确的代码。12属性/方法列表每个对象都会有许多属性和方法。当你输入一个对象名称和一个句号以分开这个对象名称和它的属性或方法时,弹出一个列表菜单。这个菜单列出了在这个句号之前的对象的所有可用的属性和方法(参见图212)。如何打开这个自动工具?选择“工具”“选项”,单击选项对话框上的“编辑器”页,确保勾选上“自动列出成员”。图212 在输入指令时,会建议可以用于该对象的属性和方法如何从弹出菜单(图212)上选择项目?试图输入你需要的属性或方法名称的前几个字母,当突出显示了正确的项目名称,则回车,插入该项目到你的代码中去,并且开始新的一行;或者,你需要

32、在同一行继续写代码,那么就按键代替回车。你也可以双击该项目来插入到代码中去。只要按键就可以关闭这个弹出菜单,而不插入任何项目。当你按键取消了弹出菜单后,将不会对同样的对象显示该菜单。你可以通过以下方法来再次显示属性/方法弹出菜单:n 按n 使用“”(后退)键删除句号,然后重新输入句号n 在代码窗口上单击右键(该对象,句号后),并且在快捷菜单上选择“属性/方法列表”n 选择“编辑”“属性/方法列表”n 点击“编辑器”工具条上的“属性/方法列表”按钮13常数列表本章的前面,你学习了给属性赋值,需要使用下面规则:如果选项对话框(编辑器页)已经勾选了“自动列出成员”,就会在等号前的属性弹出一个菜单,列

33、出该对属性有效的常数。常数是表明确切的描述或者结果的值。和里面的其它应用软件都有很多预先定义的内置常数。你将在第三章中学习常数,常数类型和使用。假设你需要你的程序打开工作表上的分页预览。“编辑”(译者:视图)菜单上有两个选择:普通视图和分页预览。普通视图是绝大多数任务的默认视图模式;分页预览则是编辑视图,显示工作表中有内容的区域。这两种选项都有相应的内置常数来表示。常数起名总是以“”开头。你一旦在代码窗口里输入指令:就会弹出一个菜单,列出这个属性的有效常数名称。使用在上节中“属性/方法列表”弹出菜单同样的技术,也可以处理“常数列表”弹出菜单。按下或者点击“编辑器”工具条上的“常数列表”按钮,可

34、以激活常数列表菜单。图213 常数列表弹出菜单显示了对敲入的属性有效的常数清单14参数信息如果你有过使用函数的经历,你就会知道许多函数需要一个或者多个自变量(或者参数)。如果函数要求自变量,你可以在输入左括号后在光标下面看到一个提示框,显示必要的或可选的自变量的名称(参见图214)。参数信息帮你很容易地给函数设置参数。另外,它提醒你其它两件对函数运行正确至关重要的事情:自变量的顺序和自变量要求的数据类型。你将在下一章里学习数据类型。在代码窗口里面输入下述代码,看看参数信息是如何工作的:图214 A a a .你一旦输入了开始的括号,光标的下面就会出现一个提示框,当前的自变量会显示为粗体;当你输

35、入完第一个自变量并且输入了逗号,会将下一个自变量为粗体。可选的自变量会用中括号 括起来。只要按下键就可以关闭参数信息窗口。如何使用键盘来打开提示窗口?输入指令或函数,紧接着是左括号,然后按下。你也可以点击编辑菜单上的参数信息按钮或者选择“编辑”“参数信息”。15快速信息当你选择了代码窗口里的指令,函数,方法,过程名称或者常数,然后点击编辑工具条上的“快速信息”按钮(或者按下),将会显示突出显示项目的语法和常数的值。快速信息可以通过选项对话框来打开或者关闭。在编辑器页,勾选“自动显示快速信息”,打开快速信息功能。图215 快速信息提供函数参数清单,也可以是常数值和语句语法16自动完成关键字加速在

36、代码窗口编写程序的另一种方法是使用“自动完成关键字”功能。当你输入一个关键字的前几个字母,然后按下空格键,或者点击编辑工具条上的“自动完成关键字”按钮,会帮你输入这个关键字的剩余字母,节约你的时间。例如,在代码窗口里输入关键字“”的前四个字母,并且按下空格键:将会完成剩余的字母,在地方,你将看到整个关键字。如果有好几个关键字具有相同的开头字母,当你按下空格键后,会显示一个弹出菜单,列出所有关键字。测试这个例子,可以输入关键字的前三个字母,按工具条上的自动完成关键字按钮,然后在弹出菜单上选取合适的关键字。17缩进/凸出也许你已经看到,在选项对话框的编辑器页上有许多设置你可以打开以使用代码窗口许多

37、可用的自动功能。如果勾选了“自动缩进”选项,你就可以自动缩进所选的代码行,缩进的量为“宽度”文本框里的数字。默认的自动缩进量是4个字母,你也可以在文本框里输入一个新的数字来改变宽度。你为什么需要在代码里使用缩进?缩进可以使你的代码更容易阅读和理解。特别是输入一些做决定或重复性工作的代码行时,更建议使用缩进。你将在第五和第六章中学习如何创建这种类型的指令。现在,我们来练习使用缩进和凸出代码行,用第一章里的宏作为例子:1. 在工程浏览器窗口,选择(01)工程,并且激活含有代码的模块2. 选择开始为关键字和结束为 的一段代码3. 点击编辑工具条上的缩进按钮,或者按键盘上的键(译者:按键需要将光标放在

38、行首,而非选中指令)4. 选中的指令会向右移动4个字母的位置,如果使用了宽度的默认设置。5. 点击编辑工具条上的“凸出”按钮,或者按将选中的指令行返回原来的位置。缩进和凸出同样可以在编辑菜单里找到。18设置注释块/解除注释块在第一章中,你学习了一行代码前面加一个引号表示注释。注释不但使代码更容易理解,而且它在过程的测试和处理问题中都是很有用的。例如,你执行一个过程时,它可能和期望的运行不一致,对于那些可能产生问题的代码行,你现在想略过它们,但是以后可能还需要用到它们,你就可以在它们前面加一个引号注释掉它们,而不必删除它们。对大多数人来说,需要注释掉一行代码的话,只有在它前面敲入一个引号就可以了

39、,但是,如果要注释掉整块代码,使用“编辑”工具条上的“设置注释块”和“解除注释块”按钮则是很方便的。要注释掉几行代码,只要选中这些代码行并且点击“设置注释块”按钮。点击“解除注释块”按钮,将注释掉的代码恢复到代码里。如果你没有选中文本,就点击了“设置注释块”按钮,只有在光标所在的代码行前面加入引号。19使用对象浏览器如果你想要在众多的组件和功能中自由切换,那么使用对象浏览器。这个专门的内置工具在编辑器窗口是可用的。使用下面任何一种方法都可以访问对象浏览器:图216 对象浏览器让你在当前工程里可用的所有对象,属性和方法里浏览n 按F2n 选择“视图”“对象浏览器”n 点击工具条上的“对象浏览器”

40、按钮对象浏览器让你浏览过程中可用的对象,也可以查看它们的属性,方法和事件。在对象浏览器的帮助下,你可以在工程的多个过程之间快速移动。对象浏览器分为三部分(参见图216)。窗口的上部显示“工程/库”下拉列表,这里列出了所有库名称以及当前工程里可用的所有工程名称。库是包含一个应用程序里对象的信息的专门文件。新的库可以通过“引用”对话框(“工具”“引用”)来添加。列出了你电脑上安装了的所有库中的所有对象。当你选择一个叫“”的库时,仅仅能在里执行的对象名称才能被看到。和库相反,库列出了所有能在里执行的对象名称。在“工程/库”下拉列表框下面,有一个“搜索”文本框,让你可以快速地在某个库里搜索你的信息。这

41、个地方会记住你最近搜索的四个项目。在对象浏览器的任何地方单击右键,在快捷菜单上选择“全字匹配”,你就可以只搜索匹配整个字的内容。对象浏览器上的“搜索结果”(参见图216和217)显示符合搜索条件的库,类和成员。当你输入搜索文本并且单击搜索按钮,展开对象浏览器对话框以显示搜索结果。你可以点击“望远镜”按钮右边的“显示/隐藏搜索结果”来显示或者隐藏搜索结果。图217 在对象浏览器里搜索答案类列表框显示所选中的库里面所有可用的对象类,如果你选择工程,列表显示该工程里的对象。在图216里, 对象类被选中了。当你选中一个类,右边的列表(成员)显示该类可用的属性,方法和事件。图216上显示了类的一些成员。

42、成员默认地按字母顺序列出。然而,你可以使用对象浏览器快捷菜单上的“组成员”来组织这些成员列表(属性,方法或事件)。如果你选择“工程/库”里面的工程,成员列表框列出该工程里的所有过程。双击该过程名称,就可以进入该过程并检查其代码。如果你选择类“”,你将看到内置的函数和常数。如果你对所选的类或成员需要更多的信息,可以点击对象浏览器窗口上面的问号按钮。对象浏览器下面的窗口显示所选成员的代码格式。如果你点击代码格式里绿色的连接部分,你将跳到对象浏览器窗口的所选成员的类或库。代码格式里的代码可以被复制到剪切板并且粘贴到代码窗口里去。如果对象浏览器和代码窗口都是可见的,你只要选中代码格式里的文本,直接拖曳

43、到代码窗口就行了。通过对象浏览器窗口上的横竖分割线,你可以轻易地改变各个窗口的大小。你已经发现了对象浏览器,你也许在想你如何才能让它帮助你进行编程。假设你在工作表中央放置了一个文本框,你如何让将这个文本框移动到工作表的左上方?1. 打开一个新工作表2. 选择“视图”“工具栏”,然后点击“绘图”3. 点击“绘图”上的文本框,在工作表中央画一个文本框,并且随便输入什么文字4. 选择文本框之外的任意单元格5. 按下11激活编辑器窗口,并且选择工程浏览器窗口的 ()6. 选择“插入”“模块”,增加一个新的模块7. 在属性窗口,给该模块重命名:8. 选择“视图”“对象浏览器”,或按F29. 在“工程/库

44、”下拉列表框里选择“”类10. 在搜索框里输入“”并点击搜索按钮。确保你没有在文字间敲入空格。图218 在工作表上面的名称框里显示插入的对象名称图219 使用对象浏览器窗口,你可以找到合适的指令来编写你自己的过程显示的结果表明对象掌管我们文本框操作(参见图219)。从成员列表清单上看,你可以很快就知道方法就是用来在工作表里添加文本框的方法。代码格式窗口显示了使用该方法的正确语法。如果你选择方法并且按F1,你将看到关于它的帮助窗口,有更详细的关于如果使用该方法的信息(参见图220)图220 要获取对象浏览器找到的任何项目详细信息,只要选择整个项目并且按F1就可以了当你细看方法的自变量和它们在帮助

45、窗口上的解释时,你就可以很快地知道文本框在工作表中的位置是由和属性来决定的。你需要做的只是返回代码窗口,编写指令来移动文本框到工作表的左上方。11. 关闭对象浏览器和帮助窗口(如果它们还是打开的)12. 双击模块,输入过程: ( 1) 1在中文版本里为“文本框 1” = 0 = 0 13. 选择“运行”“运行宏”来测试这个过程当你返回到放置该文本框的工作表时,该文本框已经移动到了工作表的左上方了。注意,程序在集合里选择了“ 1”。 1是工作表里第一个对象的默认名称。你每次增加新的对象后,将给它安排新的好码(编号)。除了使用对象名称外,你还可以引用集合成员的编号。例如,你可以输入: (1)来代替

46、: ( 1)我们来用操纵另一个对象,你自己试试。在你放置文本框的工作表里再放置一个小圆圈。使用绘图工具上的椭圆工具画这个圆圈。在模块里插入一个新的过程,并且编写代码来放置圆圈。记住,连续地编号。第一个对象的编号为1,第二个则为2,等等,不管这个对象的类型是文本框,椭圆或者是矩形,没有关系。下面的过程演示如何将当前工作表里的椭圆移动到左上方去: (2) = 0 = 0 移动椭圆和移动文本框或者放在工作表里的其它对象类似。注意,过程中引用的是对象的编号,而非它的名称椭圆 2。当你运行时,移动的是椭圆,而不是文本框了。20使用对象库在前面的例子里,你学习使用了对象库里的(图形)集合成员的属性。库包含

47、专门使用的对象,而库则提供对许多内置函数的访问,这些函数按类别分组。这些函数是通用的,它们使你能够管理文件,设置日期和时间,与用户交流,转换数据类型,处理文本串或者进行数学计算。在下面的练习中,你将学习如何使用内置的函数来创建一个新文件夹,而不需要离开界面:1. 回到模块,那里有你的和过程2. 输入一个新的过程:3. 点击回车键,会自动输入结束关键词 4. 按下F2激活对象浏览器5. 在“工程/库”列表框里选择6. 在搜索文本框里输入并且回车7. 滚动成员列表框,并且选中方法(参见图221)8. 点击对象浏览器上的“复制”按钮,将被选择的方法名称复制到剪贴板图221 编写过程时,向对象浏览器寻求帮助来找内置的函数9. 返回窗口,并且将复制的指令粘贴到过程10. 输

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁