这个窗体里我认为最困难的一个就是MSHFlexGrid控件数据导出Excel
因为我的电脑里没有office,只有WPS,所以我VB里就没有Excel这个引用。
一、学生查看上机记录窗体的流程图
二、部分代码展示
Private Sub cmdexportexcel_Click() Dim ExcelApp As Excel.Application ‘定义Excel表格应用程序 Dim ExcelBook As Excel.Workbook '定义Excel表格工作簿 Dim ExcelSheet As Excel.Worksheet '定义Excel表格工作表 Dim i As Integer '定义excel表中的行变量 Dim j As Integer '定义excel表中的列变量 Set ExcelApp = CreateObject("Excel.application") '创建一个excel应用程序对象 Set ExcelBook = ExcelApp.Workbooks.Add '创建一个工作簿 Set ExcelSheet = ExcelBook.Worksheets(1) '创建一个工作表 DoEvents '因以下代码运行时间较长,所以转让控制权,让操作系统处理其他事件,避免操作不响应误认为死机 If myflexgrid.Rows <= 1 Then MsgBox "没有可导出数据", vbOKOnly, "提示" End If With myflexgrid For i = 0 To .Rows - 1 '循环添加行内容 For j = 0 To .Cols - 1 '循环添加列内容 DoEvents ExcelApp.ActiveSheet.Cells(i + 1, j + 1) = .TextMatrix(i, j) '添加单元格内容 Next j Next i End With ExcelApp.ActiveWorkbook.SaveAs App.Path & "\学生查询.xls" '设置Excel保存路径 ExcelApp.ActiveWorkbook.Saved = True '保存excel表格 MsgBox "导出成功", vbOKOnly, "提示" ExcelApp.Visible = True '显示excel表格 Set ExcelApp = Nothing '释放ExcelApp对象 Set ExcelBook = Nothing Set ExcelSheet = Nothing End Sub
三、前人栽树后人乘凉
这就是站在巨人的肩膀上,这个时代网络带来的便利