admin管理员组

文章数量:1534804

2024年5月24日发(作者:)

VB中sub和private是什么意思

VB中sub和private是什么意思

Private Sub cmdFind_Click()

说明发生了按钮的点击事件。 Private Sub是一个过程,并且是模块级的。过程没

有返回值public是公有,类中的方法或者变量可供其他任何类使用

private是私有,类中的方法或者变量不被任何类用,不被子类继承

protected是保护,类中的方法或者变量可被子类和同一包下的类使用

私有函数过程,外部不能直接使用的!Sub 是过程 Private是私有函数过程 外部不

能直接使用的

Sub 语句

描述

声明 Sub 过程的名称、参数以及构成其主体的代码。 语法

[Public | Private] Sub name [(arglist)]

[statements]

[Exit Sub]

[statements]

End Sub Sub 语句的语法包含以下部分 部分 描述

Public 表示 Sub 过程可被所有 Script 中的所有其他过程访问。

Private 表示 Sub 过程只可被声明该过程的 Script 中的其他过程访问。

Name Sub 的名称,遵循标准变量命名约定。

Arglist 代表在调用时要传递给 Sub 过程的参数的变量列表。用逗号隔开多个变量。

Statements 在 Sub 过程主体内所执行的任何语句组。 arglist 参数包含下列语法和

部分:[ByVal | ByVal] varname[( )]

部分 描述

ByVal 表示该参数按值传递。

ByRef 表示该参数按引用传递。

Varname 代表参数的变量名称,遵循标准变量命名约定。 说明

如没有显式地指定使用 Public 或 Private,则 Sub 过程默认为公用,即它们对于

Script 中的所有其他过程都是可见的。Sub 过程中局部变量的值在调用过程中不被保留。

所有可执行代码必须包含于过程中。不能在另一个 Sub 或 Function 过程中定义一个

Sub 过程。 使用 Exit Sub 语句可以立即从 Sub 过程中退出。程序继续执行调用 Sub

过程的语句之后的语句。可以在 Sub 过程中任意位置出现任意个 Exit Sub 语句。 与

Function 过程相似之处是:Sub 过程是一个可以获取参数,执行一系列语句以及可改变

其参数的值的独立过程。而与 Function 过程不同之处是:Function 过程可以返回值,

而 Sub 过程不能用于表达式中。 可以使用过程名并跟随相应的参数列表来调用 Sub 过

程。关于如何调用 Sub 过程的详细说明信息,请参阅 Call 语句。 小心 Sub 过程可以

是递归的,即该过程可以调用自己来完成某个给定的任务。但是递归可能会导致堆栈溢出。

在 Sub 过程中使用的变量分为两类:一类是在过程内显式声明的,另一类则不是。在过

程内显式声明的变量(使用 Dim 或等效方法)总是局部变量。对于那些没有在过程中显

式声明的变量也是局部的,除非在该过程外更高级别的位置显式地声明它们。 小心 过程

可以使用没有在过程内显式声明的变量,但只要有任何 script 级定义的名称与之同名,就

会产生名称冲突。如果过程中引用的未声明的变量与其他的过程、常数或变量的名称相同,

则会认为过程引用的是Script 级的名称。显式声明变量可以避免这类冲突,使用 Option

Explicit 语句可强制显式声明变量。 Visual Basic 语言概念 Sub 过程

Sub 过程是包含在 Sub 语句和 End Sub 语句中的一系列 Visual Basic 语句。每次

调用过程时都执行过程中的语句,从 Sub 语句后的第一个可执行语句开始,到遇到的第

一个 End Sub、Exit Sub 或 Return 语句结束。 Sub 过程执行操作但并不返回值。它

能够带参数,如呼叫代码传递给它的常数、变量或表达式。 声明 Sub 过程的语法如下所

示: [accessibility] Sub subname[(argumentlist)]

' Statements of the Sub procedure go here.

End Sub

可访问性可以是 Public、Protected、Friend、Protected Friend 或 Private。 可

以在模块、类和结构中定义 Sub 过程。默认情况下它们是 Public,这意味着可以从应用

程序中的任意位置调用它们。 参数声明

声明过程的每个参数与声明变量的方法一样,都是指定参数名和数据类型。也可以指

定传递机制,以及参数是否可选。 参数列表中每个参数的语法如下所示: [Optional]

[ByVal|ByRef] [ParamArray] argumentname As datatype

如果参数是可选的,则还必须在其声明中提供默认值,如下所示: Optional

[ByVal|ByRef] argumentname As datatype = defaultvalue

调用语法

可以使用独立的调用语句来显式调用 Sub 过程。不能在表达式中使用其名称来调用

它。调用语句必须提供所有非可选参数的值,并且必须用括号将参数列表括起来。如果未

提供任何参数,则也可以选择省略括号。Call 关键字的使用也是可选的。 调用 Sub 过程

的语法如下所示: [Call] subname[(argumentlist)]

下面的 Sub 过程通知计算机操作员应用程序将要执行哪个任务,并且还显示一个时

间戳。应用程序不是在每个任务的开头重复此代码,而仅是从不同的位置调用

TellOperator。每次调用都会传递 Task 参数中的字符串以标识开始执行的任务。 Sub

TellOperator(ByVal Task As String)

Dim Stamp As Date ' Stamp is local to TellOperator.

Stamp = TimeOfDay() ' Get current time for time stamp.

' Use MessageBox class of namespace.

("Starting " & Task & " at " & CStr(Stamp))

End Sub

典型的 TellOperator 调用如下所示: Call TellOperator("file update")

请参见

过程 | 事件处理过程 | Function 过程 | Property 过程 | 过程参数 | Sub 语句

本文标签: 过程参数变量调用语句