使用VBScript脚本语言编写一个函数,用来比较三个数字的大小,并返回最大值。

使用VBScript脚本语言编写一个函数,用来比较三个数字的大小,并返回最大值。,第1张

dim a,b,c,d

a=inputbox("请输入第一个数")

b=inputbox("请输入第二个数")

c=inputbox("请输入第三个数")

if a>=b and a>=c then d=a

if b>=a and b>=c then d=b

if c>=a and c>=b then d=c

msgbox "最大的数是" & d

InStr

函数

返回某字符串在另一字符串中第一次出现的位置。

InStr([start,

]string1,

string2[,

compare])

参数

start

可选项。数值表达式,用于设置每次搜索的开始位置。如果省略,将从第一个字符的位置开始搜索。如果

start

包含

Null,则会出现错误。如果已指定

compare,则必须要有

start

参数。

string1

必选项。接受搜索的字符串表达式。

string2

必选项。要搜索的字符串表达式。

compare

可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。如果省略,将执行二进制比较。

设置

compare

参数可以有以下值:

常数值描述vbBinaryCompare0执行二进制比较。vbTextCompare1执行文本比较。

返回值

InStr

函数返回以下值:

如果InStr

返回string1

为零长度0string1

NullNullstring2

为零长度startstring2

NullNullstring2

没有找到0在

string1

中找到

string2找到匹配字符串的位置start

>

Len(string2)0

说明

下面的示例利用

InStr

搜索字符串:

Dim

SearchString,

SearchChar,

MyPosSearchString

="XXpXXpXXPXXP" '

String

to

search

inSearchChar

=

"P" '

Search

for

"P"MyPos

=

Instr(4,

SearchString,

SearchChar,

1) '

A

textual

comparison

starting

at

position

4

Returns

6MyPos

=

Instr(1,

SearchString,

SearchChar,

0) '

A

binary

comparison

starting

at

position

1

Returns

9

MyPos

=

Instr(SearchString,

SearchChar) '

Comparison

is

binary

by

default

(last

argument

is

omitted)

Returns

9MyPos

=

Instr(1,

SearchString,

"W") '

A

binary

comparison

starting

at

position

1

Returns

0

("W"

is

not

found)

注意

InStrB

函数使用包含在字符串中的字节数据,所以

InStrB

返回的不是一个字符串在另一个字符串中第一次出现的字符位置,而是字节位置。

Function AA()

'/////////////////////////

'/////////////////////////

AA = 1

End Function

赋值到和函数名称同名的变量即可

要做出有四个按钮的msgbox可以(如下),但要有四种返回值,用msgbox真的是做不到了。

MsgBox "Data is not valid", vbYesNoCancel + vbDefaultButton4, "tt", "helpfolder/helpfilehlp", 71

通过InputBox可以获取4种及以上的返回值(借助对输入内容的判断)。

很奇怪为什么你会有这样的需求,也许我了解原因后可以帮你找到其他的解决方法。

1、在VBS脚本中使用MsgBox命令显示结果,然后在BAT脚本中使用forf命令读取MsgBox输出的结果。

2、在VBS脚本中使用WScriptStdoutWriteLine命令将结果输出到控制台,在bat脚本中使用forf命令读取控制台输出的结果。

Sub 按钮1_Click()

    Dim 周长 As Double, 面积 As Double, 半径 As Double

    周长 = 0

    面积 = 0

    半径 = 15#

    Call SubN(周长, 面积, 半径)

    MsgBox 周长 & " " & 面积

End Sub

Sub SubN(ByRef 周长参数, ByRef 面积参数, ByVal 半径参数)

    If 半径参数 < 0 Then

        周长参数 = 0

        面积参数 = 0

    Else

        周长参数 = 2  314  半径参数

        面积参数 = 314  半径参数  半径参数

    End If

End Sub

 以上代码是在Excel的VBA中调试的,可以满足的要求。

楼上列位思路都很正确

你看你的aa函数:Function aa() As Integer,返回值是Integer变量,而不是Integer数组呀,

所以你dim d 然后d= aa的话,d也是Integer变量,但是dovar的参数要求是Integer数组,

于是VB就报错了呀。

VB里面函数返回值是数组的我不知道行不行,反正我们都不这么干,直接把参数设成byref不就行了嘛,所以人家帮你改成了Function aa(dd() As Integer) As Boolean,对吧

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12188702.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存