VBA学习笔记(4)

2020-04-16 09:53

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


VBA学习笔记(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:实用MAPGIS操作手册2

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: