1、语法
[Call] name [argumentlist]
Call 语句的语法具有以下几个部分:
部分 Call
描述
可选参数;关键字。如果指定了这个关键字,则 argumentlist 必须加上括号,例如:
name argumentlist
Call MyProc(0)
必要参数,要调用的过程名称。
2、说明
调用一个过程时,并不一定要使用 Call 关键字。如果使用 Call 关键字来调用一个需要参数的过程,argumentlist 就必须要加上括号。如果省略了 Call 关键字,那么也必须要省略 argumentlis 外面的括号。如果使用 Call 语法来调用内建函数或用户定义函数,则函数的返回值将被丢弃。
若要将整个数组传给一个过程,使用数组名,然后在数组名后加上空括号。
3、Call 语句示例
下列示例示范如何使用 Call 语句来将控制转移到子过程、内在函数、和动态链接库(DLL)过程,或是 Macintosh 代码资源内的过程。
' 调用一个子过程。
Call PrintToDebugWindow(\ ' 上面的语句将控制转移到下面的子过程。 Sub PrintToDebugWindow(AnyString)
Debug.Print AnyString ' 在“立即”窗口中显示。 End Sub
' 调用一个内在函数,函数的返回值被忽略不处理。
Call Shell(AppName, 1) ' AppName 包含可执行文件的路径。
' 调用 Microsoft Windows DLL 过程。该声明语句必需是类模块中的私有的,而不是标准模块中的。
13
Private Declare Sub MessageBeep Lib \Sub CallMyDll()
Call MessageBeep(0) ' 调用 Windows DLL 过程。
MessageBeep 0 ' 再次调用,但不用“调用”这个关键字。 End Sub
14
Sub 工程名称()
Dim s工程名称 As Variant
s工程名称 = InputBox(\请输入本工程名称:\MsgBox \本工程名称为:\工程名称 MsgBox \输入成功,谢谢合作!\ Range(\
ActiveCell.FormulaR1C1 = s工程名称 ActiveWorkbook.Save Range(\End Sub
Sub 创建各标段评分表格() Dim s标段数 As String
s标段数 = InputBox(\请输入本次招标标段数:\ If s标段数 > 0 And s标段数 < 6 Then
MsgBox \按“确定”按钮生成表格。\表格生成需要一些时间,请你耐心等待!\Chr(13), vbYes, \本次招标分\标段数 & \个标段\
Else: MsgBox \对不起!标段划分不正确,请重新输入标段数(1-5个之间),谢谢!\ End If
Range(\
ActiveCell.FormulaR1C1 = s标段数
ChDir \复合标底评分软件(Excel6.0版)\ If ActiveCell.FormulaR1C1 = 1 Then Sheets(\创建表格\
Application.Run \创建表格.xls!创建标段评分表格1\ ActiveWindow.Close Range(\
MsgBox \恭喜你,表格生成成功!\ ElseIf ActiveCell.FormulaR1C1 = 2 Then Workbooks.Open Filename:= _
\复合标底评分软件(Excel6.0版)\\创建表格.xls\ Application.Run \创建表格.xls!创建标段评分表格1\ Application.Run \创建表格.xls!创建标段评分表格2\ ActiveWindow.Close Range(\
15
MsgBox \恭喜你,表格生成成功!\ ElseIf ActiveCell.FormulaR1C1 = 3 Then Workbooks.Open Filename:= _
\复合标底评分软件(Excel6.0版)\\创建表格.xls\ Application.Run \创建表格.xls!创建标段评分表格1\ Application.Run \创建表格.xls!创建标段评分表格2\ Application.Run \创建表格.xls!创建标段评分表格3\ ActiveWindow.Close Range(\
MsgBox \恭喜你,表格生成成功!\ ElseIf ActiveCell.FormulaR1C1 = 4 Then Workbooks.Open Filename:= _
\复合标底评分软件(Excel6.0版)\\创建表格.xls\ Application.Run \创建表格.xls!创建标段评分表格1\ Application.Run \创建表格.xls!创建标段评分表格2\ Application.Run \创建表格.xls!创建标段评分表格3\ Application.Run \创建表格.xls!创建标段评分表格4\ ActiveWindow.Close Range(\
MsgBox \恭喜你,表格生成成功!\ ElseIf ActiveCell.FormulaR1C1 = 5 Then Workbooks.Open Filename:= _
\复合标底评分软件(Excel6.0版)\\创建表格.xls\ Application.Run \创建表格.xls!创建标段评分表格1\ Application.Run \创建表格.xls!创建标段评分表格2\ Application.Run \创建表格.xls!创建标段评分表格3\ Application.Run \创建表格.xls!创建标段评分表格4\ Application.Run \创建表格.xls!创建标段评分表格5\ ActiveWindow.Close Range(\
MsgBox \恭喜你,表格生成成功!\ End If End Sub
Sub 开标投标报价记录()
16
Dim s你要打开第几标段 As String
s你要打开第几标段 = InputBox(\你要打开第几标段?\ If s你要打开第几标段 > 0 And s你要打开第几标段 <= 5 Then MsgBox \你要打开的是第\你要打开第几标段 & \标段\
Else: MsgBox \对不起!你要打开的标段不存在,请重新输入你要打开的标段,谢谢!\ Range(\ End If
If s你要打开第几标段 = 1 Then Workbooks.Open Filename:= _
\复合标底评分软件(Excel6.0版)\\创建各标段评分表格\\C1标段评分表.xls\ Sheets(\投标人名称\ Range(\
ElseIf s你要打开第几标段 = 2 Then Workbooks.Open Filename:= _
\复合标底评分软件(Excel6.0版)\\创建各标段评分表格\\C2标段评分表.xls\ Sheets(\投标人名称\ Range(\
ElseIf s你要打开第几标段 = 3 Then Workbooks.Open Filename:= _
\复合标底评分软件(Excel6.0版)\\创建各标段评分表格\\C3标段评分表.xls\ Sheets(\投标人名称\ Range(\
ElseIf s你要打开第几标段 = 4 Then Workbooks.Open Filename:= _
\复合标底评分软件(Excel6.0版)\\创建各标段评分表格\\C4标段评分表.xls\ Sheets(\投标人名称\ Range(\
ElseIf s你要打开第几标段 = 5 Then Workbooks.Open Filename:= _
\复合标底评分软件(Excel6.0版)\\创建各标段评分表格\\C5标段评分表.xls\ Sheets(\投标人名称\ Range(\ End If End Sub
17