用vba生成一个办公室预约系统的代码,要求有个人预约情况、各办公室预约情况
时间: 2023-06-11 22:06:25 浏览: 168
以下是一个简单的VBA代码示例,用于创建办公室预约系统,包括人员预约情况和各办公室的预约情况:
```vba
Option Explicit
'定义变量
Dim officeData(1 To 5, 1 To 5) As String '5个办公室,每个办公室最多容纳5个人
Dim personData(1 To 10, 1 To 2) As String '最多10个人,每个人有一个名字和一个办公室号码
Sub makeBooking()
'预约函数
Dim personName As String
Dim officeNum As Integer
Dim i As Integer
Dim j As Integer
Dim flag As Boolean
'输入预约人的名字和办公室号码
personName = InputBox("请输入您的名字:")
officeNum = InputBox("请输入您需要预约的办公室号码(1-5):")
'检查该办公室是否已满
flag = False
For i = 1 To 5
If officeData(officeNum, i) = "" Then
flag = True
Exit For
End If
Next i
'如果该办公室已满,则提示用户重新输入
If flag = False Then
MsgBox "该办公室已满,请重新选择办公室。"
Exit Sub
End If
'将预约信息添加到办公室数据中
For j = 1 To 5
If officeData(officeNum, j) = "" Then
officeData(officeNum, j) = personName
personData(j, 1) = personName
personData(j, 2) = officeNum
Exit For
End If
Next j
'显示预约信息
MsgBox "您已成功预约办公室" & officeNum & ",预约人为" & personName & "。"
End Sub
Sub viewOfficeData()
'查看各办公室预约情况
Dim i As Integer
Dim j As Integer
Dim officeStr As String
'遍历办公室数据,生成预约情况字符串
For i = 1 To 5
officeStr = "办公室" & i & "预约情况:"
For j = 1 To 5
If officeData(i, j) <> "" Then
officeStr = officeStr & officeData(i, j) & ","
End If
Next j
MsgBox officeStr
Next i
End Sub
Sub viewPersonData()
'查看各人员预约情况
Dim i As Integer
Dim personStr As String
'遍历人员数据,生成预约情况字符串
For i = 1 To 10
If personData(i, 1) <> "" Then
personStr = personStr & personData(i, 1) & "预约了办公室" & personData(i, 2) & ","
End If
Next i
MsgBox personStr
End Sub
```
在这个代码中,我们定义了两个二维数组,`officeData` 用于存储各个办公室的预约情况,`personData` 用于存储各个人员的预约情况。`makeBooking` 函数用于预约办公室,首先输入预约人的名字和办公室号码,然后检查该办公室是否已满,如果已满则提示用户重新输入,否则将预约信息添加到办公室数据和人员数据中。`viewOfficeData` 函数用于查看各办公室的预约情况,遍历办公室数据,生成预约情况字符串并弹出消息框。`viewPersonData` 函数用于查看各人员的预约情况,遍历人员数据,生成预约情况字符串并弹出消息框。
阅读全文