-
vba 窗体单选框怎么传回sub_VB的Sub过程
2020-12-06 07:08:25 -
VB_sub
2013-02-20 14:47:27声明 Sub 过程的名称、参数以及构成其主体的代码。 语法 [Public | Private] Sub name [(arglist)] [statements] [Exit Sub] [statements] End Sub Sub 语句的语法包含以下部分 部分 描述 Public 表示 Sub...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 System.Windows.Forms namespace.
MessageBox.Show("Starting " & Task & " at " & CStr(Stamp))
End Sub
典型的 TellOperator 调用如下所示:
Call TellOperator("file update")
请参见
过程 | 事件处理过程 | Function 过程 | Property 过程 | 过程参数 | Sub 语句 -
VB.NET Sub创建方法简介
2014-07-31 15:46:19在VB.NET中方法的创建还是跟在VB6中的一样,你可以使用Sub或者Function关键字。Sub和Function的区别是:用VB.NET Sub创建方法,它将不返回数值;若是利用Function来创建一个方法,它将返回一个数值作为经过长时间学习VB.NET Sub创建方法,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。以下介绍VB.NET Sub创建方法
在VB.NET中方法的创建还是跟在VB6中的一样,你可以使用Sub或者Function关键字。Sub和Function的区别是:用VB.NET Sub创建方法,它将不返回数值;若是利用Function来创建一个方法,它将返回一个数值作为结果。例如:
Sub MyWorks() End Sub Function MyValue() As Integer End Function
在VB.NET中我们仍可以使用辖域关键字,这跟在VB 6中的差不多,只是多了Protected。具体的辖域关键字有:
◆Private表明只能调用类中的代码;
◆Friend 表明可以在我们的工程/组件中调用代码;
◆Public 表明可以在我们的类外部调用代码;
◆Protected是VB.NET新增的,这个我们将在讨论继承的时候再具体阐述。
◆Protected Friend 表明只能在我们的工程/组件调用代码以及我们的Subclass的代码。同样我们将在讨论继承的时候再具体阐述。缺省地,方法的参数是声明为ByVal而不是ByRef。当然,我们仍然可以通过使用ByRef关键字来重载这个缺省的行为。
VB.NET Sub创建方法属性
以前我们创建属性的时候是使用Property Get和Property Let,但现在在VB.NET中已经将它集成到一个结构中去了。例子如下:
Private mystrName As String Public Property Name() As String Get Return mystrName End Get Set mystrName = Value End Set End Property
-
VB中Sub过程与Function过程的区别
2020-01-14 13:39:58VB的通用过程分为两种类型:Sub过程和Function过程。通用过程既可以保存在窗体模块(.Frm)中,也可以保存在标准模块(.Bas)中。通用过程与事件过程不同,它不依附于某一对象,也不是有对象的某一事件驱动或由系统...VB的通用过程分为两种类型:Sub过程和Function过程。通用过程既可以保存在窗体模块(.Frm)中,也可以保存在标准模块(.Bas)中。通用过程与事件过程不同,它不依附于某一对象,也不是有对象的某一事件驱动或由系统自动调用,而是通过被调用语句(如Call语句)调用才起作用。通用过程可以被多次调用,调用该过程的过程称为调用过程。
Sub过程(子过程)
语法格式: [Public|private] Sub 子过程名 ( [形参列表] )
<语句>
End Sub
子过程没有返回值,即它只能执行Sub和End Sub之间的语句块,不能讲子过程的值赋给某一变量。
使用Sub过程必须遵守“先说明,后调用”的原则,声明Sub过程就是编写一个能够实现预期功能的程序段,可被重复调用。
子过程的调用:
- 使用Call语句调用子过程: Call <子过程名> [ (<实参表列>) ]
该语法格式中的是参列表是实际参数的列表,如果有多个参数,可用“,”隔开。
利用该语句调用子过程时,如果过程本身没有参数,则<子过程名>后面的<实参列表>和括号可省略;则应给出实际参数,并用括号将参数括起来。
- 利用子过程名进行调用: <子过程名> [ <实参列表> ]
利用该方法调用子过程时,不能将实际参数用括号括起来。
Function(函数过程)
Function过程与Sub过程的区别是:函数过程有返回值,而子过程没有返回值。
语法格式如下:[Private|Public] Function <函数过程名> [ (形参列表)] [As <类型> ]
<语句块>
函数名=表达式
End Function
函数过程的调用:
函数过程的调用与使用普通函数是相同的,只需写出函数名和函数过程中定义的实参即可。
直接使用函数名的调用方法有两种形式:
- 如果函数有返回值,一般按如下形式调用:
被赋值对象=函数名(实际参数1,实际参数2,…)
- 如果放弃函数的返回值(与调用Sub过程一样使用Call语句来调用Function过程 ),一般按如下形式调用:
函数名 实际参数1,实际参数2,…
Sub 过程与Function 过程的区别:
1. Sub 过程定义时无需定义返回值类型,而Function 过程一般需要用“As 数据类型” 定义函数返回值类型。
2. Sub 过程中没有对过程名赋值的语句,而Function 过程中一定有对函数名赋值的语句。
3. 调用过程:调用 Sub 过程与 Function 过程不同。调用 Sub 过程的是一个独立的语句,而调用函数过程只是表达式的一部分。Sub 过程还有一点与函数不一样,它不会用名字返回一个值。但是,与 Function过程一样,Sub 过程也可以修改传递给它们的任何变量的值。
4. 调用 Sub 过程有两种方法:
以下两个语句都调用了名为 Fact 的 Sub 过程。
Call Fact (m, fac)
Fact m, fac
注意当使用 Call 语法时,参数必须在括号内。若省略 Call 关键字,则也必须省略参数两边的括号。
-
VB 中Sub和Function的区别
2015-09-20 21:15:00Sub可以理解为执行一个过车,一个操作。 Function在执行完过后,还要返回一个结果。 Sub:过程;Function:函数,可以带返回值。 语法: Sub SubName(参数1,参数2,...) ... End Sub Function ... -
VB.sub过程和function过程的区别
2019-10-09 02:22:34function可以用自身名字返回一个值,sub需定义别的变量,用传址方式传回值。 Sub过程与Function过程的区别: Sub过程定义时无需定义返回值类型 Function过程一般需要用“As数据类型”定义... -
VB中sub和private是什么意思
2019-10-07 06:45:41VB中sub和private是什么意思 Private Sub cmdFind_Click()说明发生了按钮的点击事件。 Private Sub是一个过程,并且是模块级的。过程没有返回值public是公有,类中的方法或者变量可供其他任何类使用... -
vb中sub main到底是个啥
2017-11-12 13:21:31遇到不懂的,就去查,现在查的多了,以后自然就快了,接下来大家一起来和我看看 sub main在vb中的作用吧! 一、sub main的理论知识 1、设置启动窗体。 我们在做程序中,一般第一个窗体就是你的启动窗体,但是... -
中单引号和双引号的区别与联系_VB中Sub与function的联系与区别
2021-01-13 05:27:58function 可以用自身名字返回一个值,sub 需定义别的变量,用传址方式传回值。Sub 过程与Function 过程的区别: 1. Sub 过程定义时无需定义返回值类型,而Function 过程一般需要用“As 数据类型” 定义函数返回值... -
oracle function 返回多个值_VB中Sub与function的联系与区别
2020-12-08 01:06:55function 可以用自身名字返回一个值,sub 需定义别的变量,用传址方式传回值。Sub 过程与Function 过程的区别: 1. Sub 过程定义时无需定义返回值类型,而Function 过程一般需要用“As 数据类型” 定义函数返回值... -
vb.net 于sub内抓取自己本身sub的名称
2019-07-01 09:51:17如题,我想要在sub内,抓取自己本身的名称要怎么写呢?  -
VB中End sub和Exit sub
2017-12-30 10:13:50End Sub是一个过程的结束代码,每一个SUB中必须应对一个END SUB。 Exit Sub是在过程内代码执行时,可选择性的退出过程执行,既不执行Exit sub之后的代码,相当于中途退出的意思,这不是必须的。 private sub ceshi... -
自己写的文件操作的function和Sub vb.net dll
2020-10-30 16:47:24自己写的文件操作的function和Sub vb.net dll -
VB.NET中Sub和Function的区别
2018-12-26 14:02:20function 可以用自身名字返回一个值,sub 需定义别的变量,用传址方式传回值。 Sub 过程与Function 过程的区别: 1. Sub 过程定义时无需定义返回值类型,而Function 过程一般需要用“As 数据类型” 定义函数... -
vb6中function和sub的区别
2021-01-29 14:11:16function 可以用自身名字返回一个值,sub 需定义别的变量,用传址方式传回值。 Sub 过程与Function 过程的区别: 1. Sub 过程定义时无需定义返回值类型,而Function 过程一般需要用“As 数据类型” 定义函数返回值... -
VB中鸡肋的Sub/Function区分
2014-10-13 09:51:44--区分Sub和Function Sub不能有返回值,如果设置同名局部变量,会报错 Function可以不设置返回值,默认为局部变量默认值,String="",Integer=0等 --区分是否使用返回值的调用方式 Call方式,Sub/Function都可使用,... -
(VB.Net) Sub过程
2019-04-16 12:53:44[Modifiers] Sub SubName [(ParamterList)] [Statements] End Sub 'Modifiers:指定过程的访问级别,可能的值:Public,Private,Protected,Friend,Protected Friend and information overloading, ov... -
VB.NET中SUB和FUNCTION的区别
2009-12-04 20:47:001:定义 Sub:过程; Function:函数,可以带返回值 2:语法 Sub SubName(参数1, 参数2,...) End Sub Function FunctionName(参数1, 参数2,...) ... FunctionName = 返回值 End Function 3:调用方法: Sub直接用 ... -
VB控件的左对齐和上对齐Sub
2015-08-19 20:35:23'VB控件的左对齐和上对齐Sub '这两个通用过程“左对齐和上对齐”可以很方便的设置控件的位置和大小, '节省了很多代码,也不需要在设计阶段就把每个控件都设置好。 '在Form load过程或者其他过程都可以调用。 ... -
VB.net怎么用Sub Main
2019-09-30 10:41:24找百度得到的信息也不够明确和具体,一些初学的人甚至有一定Vb.net使用经验的人都以为这没法实现,Main已经由Vb.net隐式实现了,不提供覆盖。其实这是错误的,我们完全可以自行来定义。虽然vb.net不像C#那样在创建... -
VB中一个SUB的最大行数多少?
2012-05-18 17:02:55今天写程序,居然警告我“过程太大” 然后我消减了一些行 就好了 请问最大的行数是多少啊 vb6 sp6 谢谢 -
Sub 与 Function 在VB程序设计中的区别
2011-07-17 10:49:28Private Sub 与 Function 在VB程序设计中的区别function是函数,sub是子程序,都可以传递参数,但函数有返回值,子程序没有function 可以用自身名字返回一个值,sub 需定义别的变量,用传址方式传回值。Sub 过程与... -
vb编程学习_学习VB编程第25天,自定义sub和自定义function
2020-12-05 20:31:38今天是我学习VB编程的第25天,今天学习了刘金玉老师的零基础VB教程第32期,内容是SUB过程与function自定义函数的异同。一、补充知识点:文本文件修改密码:修改密码本质上是修改文本文件内容中的某一行。思路:按行... -
过程SUB-2016.doc
2019-07-20 16:30:00vb的sub过程学习。 -
VB-Option Explicit 、Private Sub
2017-06-18 19:34:29VB-Option Explicit 、Private Sub1、Option Explicit Option Explicit 语句 用于在文件级强制对该文件中的所有变量进行显式声明。Option Explicit { On | Off } 各部分说明 On 可选。启用 Option Explicit 检查... -
vb.net未找到Sub Main()
2011-06-07 15:09:00在vb.net中如果修改了窗体的那么属性或修改了启动项,会出现"未找到Sub Main()"的错误. 解决办法是,打开项目的属性页面-——应用程序——启动窗体把启动窗体设置为改后的窗体名就好了。 另外,不注意把应用程序... -
vb.net-study-05 要重视写注释-vb.net程序-Sub过程和Function函数注释
2019-06-12 09:30:07在Sub过程和Function函数代码开始的上一行连续输入3个英文的分号’’’,就会自动添加注释。 方法 1. 先写代码 2. 在代码头上敲上’’’(连敲3下单引号键’) 3. 全自动生成,只需往里填注释内容即可 或是 2... -
文件自定义变量_学习VB编程第25天,自定义sub和自定义function
2021-01-12 21:25:19今天是我学习VB编程的第25天,今天学习了刘金玉老师的零基础VB教程第32期,内容是SUB过程与function自定义函数的异同。一、补充知识点:文本文件修改密码:修改密码本质上是修改文本文件内容中的某一行。思路:按行... -
新手请教,delphi怎么建立,使用function和 procedure。象VB的function 和SUB那样。
2013-02-22 20:28:22function DBGridAutoSize(mDBGrid: TDBGrid; mOffset: Integer = 15): Boolean; var I: Integer;...这个函数是别人给写的,关于给表格自动列宽的,这时我想用它的话,要怎么写? 我用的时候老是不通过