第八章绩汇总表及 數据导入模板 高校的成绩汇总表是每个学生在校学习期间 各门课程成绩一览表。一般是从各学期、各门 课程的成绩报告单抄写。有了电子形式的成绩 报告单,再有一个电子形式的成绩汇总表,就 可以直接将成绩导入,从而提高工作效率和准 确性。本章介绍成绩汇总表、工具栏的设计以 及数据导入的实现技术。 对于四年制本科生,我们给每个班级建立四 个工作表(每个工作表登记两个学期的成绩) 整个工作簿按班级数建立若干个同样规格的工 作表,所以只要设计出一个工作表,其余的就 可以复制产生
第八章 成绩汇总表及 数据导入模板 高校的成绩汇总表是每个学生在校学习期间 各门课程成绩一览表。一般是从各学期、各门 课程的成绩报告单抄写。有了电子形式的成绩 报告单,再有一个电子形式的成绩汇总表,就 可以直接将成绩导入,从而提高工作效率和准 确性。本章介绍成绩汇总表、工具栏的设计以 及数据导入的实现技术。 对于四年制本科生,我们给每个班级建立四 个工作表(每个工作表登记两个学期的成绩), 整个工作簿按班级数建立若干个同样规格的工 作表,所以只要设计出一个工作表,其余的就 可以复制产生
81二作设计 82数据导入程序设计 83模板的使用 退 出
8.1 工作表设计 8.2 数据导入程序设计 8.3 模板的使用 退 出
8.1工作表设计 高校的成绩汇总表是每个学生在校学习期间 各门课程成绩一览表。一般是从各学期、各门课 程的成绩报告单抄写。有了电子形式的成绩报告 单,再有一个电子形式的成绩汇总表,就可以直 接将成绩导入,从而提高工作效率和准确性。本 章介绍成绩汇恿表、工具栏的设计以及数据导入 的实现技术 对于四年制本科生,我们给每个班级建立四 个工作表(每个工作表登记两个学期的成绩), 整个工作簿按班级数建立若干个同样规格的工作 表,所以只要设计出一个工作表,其余的就可以 复制产生
8.1 工作表设计 高校的成绩汇总表是每个学生在校学习期间 各门课程成绩一览表。一般是从各学期、各门课 程的成绩报告单抄写。有了电子形式的成绩报告 单,再有一个电子形式的成绩汇总表,就可以直 接将成绩导入,从而提高工作效率和准确性。本 章介绍成绩汇总表、工具栏的设计以及数据导入 的实现技术。 对于四年制本科生,我们给每个班级建立四 个工作表(每个工作表登记两个学期的成绩), 整个工作簿按班级数建立若干个同样规格的工作 表,所以只要设计出一个工作表,其余的就可以 复制产生
!!计第一个工作表 进入 Excel,建立一个工作簿。 定义纸型、设置表格样式、设置单元 格格式、设置列宽度、设置行高度
8.1.1 设计第一个工作表 进入Excel,建立一个工作簿。 定义纸型、设置表格样式、设置单元 格格式、设置列宽度、设置行高度
8.12复制和修改工作表 在设计好的工作表这项卡上右击,迄“移动或复制工作 表”,然后迄中“建立副本 位置这“移至最后”,单击 确定”按钮。 可同时中多个工作表进行复制。既按住ml或Sh的键, 再单击工作表擀卡。 为便于查看同时又节省空间,工作表可按班级和学期给 工作表重新命名。如:5班12、6班5分别表示五班一、二学期 和六班五、六学期的成偾汇总表。 沒:“总表”用文件名来区分年级。如:总表00、总表9, 等等。教师报上来的原始“成绩单”用文件名来区分年級和 课程。如:成绩单00导论、成绩单数字逻辑,等等。对复 制的工作表,修改学期号、班级号等信息。至此,一个年级 的成偾汇总表格式设计完成
8.1.2 复制和修改工作表 在设计好的工作表选项卡上右击,选“移动或复制工作 表”,然后选中“建立副本”,位置选“移至最后”,单击 “确定”按钮。 可同时选中多个工作表进行复制。既按住Ctrl或Shift键, 再单击工作表选择卡。 为便于查看同时又节省空间,工作表可按班级和学期给 工作表重新命名。如:5班12、6班56分别表示五班一、二学期 和六班五、六学期的成绩汇总表。 注:“总表”用文件名来区分年级。如:总表00、总表99, 等等。教师报上来的原始“成绩单”用文件名来区分年级和 课程。如:成绩单00导论、成绩单99数字逻辑,等等。对复 制的工作表,修改学期号、班级号等信息。至此,一个年级 的成绩汇总表格式设计完成
8.2数据导入程序设计 这是整个成绩汇总模板的援心。其基 本思想是,在打开成偾汇总模板的同时, 打开需要导入的某门课的“成绩单”工作 簿,在“成绩单”工作簿中选择某班的 工作表”,单击自定义工具栏的相应按 钮,提取学号、学生姓名或成绩,回到 汇总表”,单去工具栏的“导入”按钮 将信息导入汇总表
8.2 数据导入程序设计 这是整个成绩汇总模板的核心。其基 本思想是,在打开成绩汇总模板的同时, 打开需要导入的某门课的“成绩单”工作 簿,在“成绩单”工作簿中选择某班的 “工作表”,单击自定义工具栏的相应按 钮,提取学号、学生姓名或成绩,回到 “汇总表”,单击工具栏的“导入”按钮, 将信息导入汇总表
8.2.1建立自定义工具 8.2.2删除自定义工具 8.2.3设置工具按的可用性) 返 8.2.4工具栏按钮代码设计 8.2
8.2.1 建立自定义工具栏 8.2.2 删除自定义工具栏 8.2.3 设置工具按钮的可用性 8.2.4 工具栏按钮代码设计 返 回 8.2
●●●● ●●● 8.21建立自定义工具栏 ●●● ●●● ●● 在单“工具/宏”中述么 alpase舒部",进入 v,单去“工程资原管狸器"按叙,双云 ‰be撲於,打开代弼觸窗口。 对工作nhi的em!事件写代码。 岁工作薺打开时,抛行以上代弼殷,首光建点一 个工具拦,名“成绩汇总"。然后,在工具拦上添 加正个命小按叙:“提取学号”,“捉取姓名” 捉取成f",“导入"和“夯助"。通过命今按钽 的mhmm1性,分指定正个按钮要抛行的过程: m,死做,,引饿m,以的这五个过程在 “摸块1中定义1见下文
8.2.1 建立自定义工具栏 在 单“工具|宏”中选“Visual Basic编辑器”,进入 VBE,单击“工程资源管理器”按钮,双击 “ThisWorkBook”模块,打开代码编辑窗口。 对工作簿Workbook的Open()事件编写代码。 当工作簿打开时,执行以上代码段,首先建立一 个工具栏,名为“成绩汇总”。然后,在工具栏上添 加五个命令按钮:“提取学号” 、 “提取姓名” 、 “提取成绩” 、 “导入”和“帮助”。通过命令按钮 的OnAction属性,分别指定五个按钮要执行的过程: get_no、get_na、get_gd、cj_import、cj_hlp。这五个过程在 “模块1”中定义(见下文)。 GO
8.2.2删除自定义工具栏 为不影响E境,当关图工作等时,应当将自定义的工具栏删 除。可以在nia的gnee事件中定义如下过程实现。 Priuate Sub workbook_Belone Code cancel e Boolean) 的4 eatn. Commanda("成绩汇总").Dete End sul 其中,语句 的=" than dele 是设置“工具栏已刪除”标志。因为我们要在 ddouiDeactioa事件中定 义一个过程(下面介绍),设置工具栏桉钮的可用性属性,而 veae事件先于 imdouveactiua件。为避免“找不到工具栏对象 错误,在 Deactivate过程中,首先通过的判断工具栏是否被刪除。 GO
8.2.2 删除自定义工具栏 为不影响Excel环境,当关闭工作簿时,应当将自定义的工具栏删 除。可以在Workbook的BeforeClose事件中定义如下过程实现。 Private Sub Workbook_BeforeClose(Cancel As Boolean) flg = "tbar_deled" Application.CommandBars("成绩汇总").Delete End Sub 其中,语句 flg = "tbar_deled" 是设置“工具栏已删除”标志。因为我们要在WindowDeactivate事件中定 义一个过程(下面介绍),设置工具栏按钮的可用性属性,而 BeforeClose事件先于WindowDeactivate事件。为避免“找不到工具栏对象” 错误,在WindowDeactivate过程中,首先通过flg判断工具栏是否被删除。 GO
8.2.3设置工具按纽的可用性 在将“成绩单”数据导入“汇总表”过程中,要同时打 开两个工作簿,当“成绩单”工作簿为“活动”状态而“汇 总表”处于“非活动”状态时,应该让“提取学号 提 取姓名”、“提取成绩”命令按钮可用,“导入”命令按钮 不可用 “汇总表”工作簿为“活动”状态而“成绩单” 处于“非活动”状态时,应该让“导入”命令按钮可用 “提取学号”、“提取姓名”、“提取成绩”命令按钮不司 用。 这样,我们分别对 Workbook的 WindowActivate和 WindowDeactivate编程。由于在这两个过程要用到open过 程中定义的 ommand BarControl变量butt1、butt2 butt3和but4,所以在 This Workbook中要用下面语句声明 模块变量 Dim butt1, butt2, butt, butt As Command BarControl 同理,用语句 Dim fla a 声明g变量。 GO
8.2.3 设置工具按钮的可用性 在将“成绩单”数据导入“汇总表”过程中,要同时打 开两个工作簿,当“成绩单”工作簿为“活动”状态而“汇 总表”处于“非活动”状态时,应该让“提取学号” 、 “提 取姓名” 、 “提取成绩”命令按钮可用,“导入”命令按钮 不可用;当“汇总表”工作簿为“活动”状态而“成绩单” 处于“非活动”状态时,应该让“导入”命令按钮可用, “提取学号” 、 “提取姓名” 、 “提取成绩”命令按钮不可 用。 这样,我们分别对Workbook的WindowActivate和 WindowDeactivate编程。由于在这两个过程要用到open过 程中定义的CommandBarControl变量butt1、 butt2、 butt3和butt4,所以在ThisWorkbook中要用下面语句声明 模块变量。 Dim butt1, butt2, butt3,butt4 As CommandBarControl 同理,用语句 Dim flg As String 声明flg变量。 GO