?? cjb2.bas
字號(hào):
Attribute VB_Name = "Module2"
'***** 丹青閣電腦工作室 楊富城 編寫代碼 *****
'***** *****
'***** 學(xué)生成績(jī)管理系統(tǒng)文件讀寫模塊 *****
'***** *****
'**********************************************************
Function OnRecentFilesList(Filename) As Integer '判斷文件是否在文件菜單的自定義函數(shù)
Dim i
For i = 1 To 4
If UCase(frmMain.mnuRecentFile(i).Caption) = UCase(Filename) Then
OnRecentFilesList = True
Exit Function
End If
Next i
OnRecentFilesList = False
End Function
Sub UpdateFileMenu(Filename) '更新注冊(cè)表,刷新“文件”菜單
If Filename = "" Then Exit Sub
Dim intRetVal As Integer
'判斷打開的文件名是否已經(jīng)在“文件”菜單控件數(shù)組中
intRetVal = OnRecentFilesList(Filename)
If Not intRetVal Then
'將打開的文件寫到注冊(cè)表,調(diào)用寫注冊(cè)表過程
WriteRecentFiles (Filename)
End If
'更新“文件”菜單空間數(shù)組中最近打開的文件列表
GetRecentFiles
End Sub
Sub SaveFileAs(Filename) '寫文件過程
On Error Resume Next
'聲明存盤文件變量
Dim i, j, k As Integer
Dim strC As String
'打開文件
'顯示鼠標(biāo)沙漏指針
Screen.MousePointer = 11
'為 strC 賦值
With frmMain.ActiveForm
strC = Filename & vbCrLf
For i = 1 To 15
strC = strC & .TextShuxing(i).Text & vbCrLf '前 15 行為屬性文本框的內(nèi)容
Next
strC = strC & .ChengJB.Font.Size & vbCrLf '表格字號(hào)
strC = strC & .ChengJB.GridLines & vbCrLf '表格線型
strC = strC & .ChengJB.GridColor & vbCrLf '表線顏色
strC = strC & .ChengJB.Rows & vbCrLf '表格總行數(shù)
For j = 0 To .ChengJB.Rows - 1
For k = 0 To 18
strC = strC & .ChengJB.TextArray(Fgi((j), (k))) & vbCrLf '表內(nèi)數(shù)據(jù)
Next k
Next j
End With
'將變量?jī)?nèi)容寫到一個(gè)保存的文件中
Open Filename For Output As #1
Print #1, strC
Close #1
'重新設(shè)置鼠標(biāo)指針
Screen.MousePointer = 0
'設(shè)置窗體標(biāo)題
If Err Then
MsgBox Error, 48, App.Title
Else
frmMain.ActiveForm.Caption = UCase(Filename)
'重新設(shè)置 Dirty 標(biāo)志
FState(frmMain.ActiveForm.Tag).Dirty = False
End If
End Sub
Sub FileOpenProc() '打開文件的準(zhǔn)備
Dim intRetVal
On Error Resume Next
Dim strOpenFilename As String
frmMain.CMDialog1.Filename = ""
frmMain.CMDialog1.Filter = "所有文件(*.*)|*.*|" & _
"學(xué)生成績(jī)管理系統(tǒng)文件(*.CJB)|*.CJB"
frmMain.CMDialog1.FilterIndex = 2
frmMain.CMDialog1.ShowOpen
If Err <> 32755 Then
strOpenFilename = frmMain.CMDialog1.Filename
OpenFile (strOpenFilename)
UpdateFileMenu (strOpenFilename)
End If
End Sub
Function GetFileName(Filename As Variant) '顯示“另存為”對(duì)話框并返回文件名
Dim strmsg, strName As String
On Error Resume Next
'如果選擇“取消”則返回空字符串
frmMain.CMDialog1.CancelError = True
frmMain.CMDialog1.Flags = cdlOFNOverwritePrompt
frmMain.CMDialog1.Filename = Filename
frmMain.CMDialog1.Filter = "所有文件(*.*)|*.*|" & _
"學(xué)生成績(jī)管理系統(tǒng)文件(*.CJB)|*.CJB"
frmMain.CMDialog1.FilterIndex = 2
frmMain.CMDialog1.ShowSave
If Err <> 32755 Then
GetFileName = frmMain.CMDialog1.Filename
Else
GetFileName = ""
End If
UpdateFileMenu (Filename)
End Function
Sub OpenFile(Filename) '打開指定文件過程
If Filename = "" Then Exit Sub
Dim fIndex As Integer
Dim abcd As String
Dim i, j, k As Integer
'找到下一個(gè)可用的索引并顯示該子窗體
fIndex = FindFreeIndex()
Doc(fIndex).Tag = fIndex
On Error Resume Next
'打開選定文件
'將文件內(nèi)相應(yīng)的行賦值給相應(yīng)的變量
Open Filename For Input As #1
If Err Then
MsgBox "不能打開文件:" + Filename
Unload frmMain.ActiveForm
Exit Sub
End If
'改變鼠標(biāo)指針類型為沙漏
Screen.MousePointer = 11
Line Input #1, abcd
Doc(fIndex).Caption = Filename
Doc(fIndex).Show
Doc(fIndex).Timer1.Enabled = False
Doc(fIndex).Text1.Visible = False
For i = 1 To 15
Line Input #1, abcd
Doc(fIndex).TextShuxing(i).Text = abcd
Next
Line Input #1, abcd
Doc(fIndex).ChengJB.Font.Size = abcd
Doc(fIndex).ChengJB.Refresh
Line Input #1, abcd
Doc(fIndex).ChengJB.GridLines = abcd
Line Input #1, abcd
Doc(fIndex).ChengJB.GridColor = abcd
Line Input #1, abcd
Doc(fIndex).ChengJB.Rows = abcd
For j = 0 To Doc(fIndex).ChengJB.Rows - 1
For k = 0 To 18
Line Input #1, abcd
Doc(fIndex).ChengJB.TextArray(Fgi((j), (k))) = abcd
Next k
Next j
Close #1
Chushi
Screen.MousePointer = 0
For i = 2 To 18
frmMain.ActiveForm.ChengJB.ColAlignment(i) = 0
Next
FState(Doc(fIndex).Tag).Dirty = False
End Sub
Sub filePrintJ() '打印簡(jiǎn)表
'定義 PrintText 為表格內(nèi)容
Dim i, j As Integer
Dim PrintText As String
PrintText = ""
With frmMain.ActiveForm
For i = 0 To .ChengJB.Rows - 1
PrintText = PrintText & .ChengJB.TextArray(Fgi((i), (0))) & vbTab
PrintText = PrintText & .ChengJB.TextArray(Fgi((i), (1))) & vbTab
PrintText = PrintText & .ChengJB.TextArray(Fgi((i), (10))) & vbTab
PrintText = PrintText & .ChengJB.TextArray(Fgi((i), (13))) & vbTab
PrintText = PrintText & .ChengJB.TextArray(Fgi((i), (16))) & vbTab
PrintText = PrintText & .ChengJB.TextArray(Fgi((i), (17))) & vbTab
PrintText = PrintText & .ChengJB.TextArray(Fgi((i), (18))) & vbCrLf
Next i
End With
abcd = frmMain.ActiveForm.TextShuxing(1).Text & " " & _
frmMain.ActiveForm.TextShuxing(2).Text & _
" 成績(jī)表"
Printer.ScaleLeft = -560
'定義字體并打印
Printer.FontName = "宋體"
Printer.FontSize = 18
Printer.Print " " & vbCrLf
Printer.Print abcd
Printer.FontName = "楷體_GB2312"
Printer.FontSize = 12
Printer.Print " " & vbCrLf
Printer.Print PrintText
Printer.FontName = "黑體"
Printer.FontSize = 12
Printer.Print " " & vbCrLf
Printer.Print "學(xué)生成績(jī)管理系統(tǒng) 報(bào)表輸出"
Printer.Print " 丹青閣電腦工作室"
Printer.EndDoc
End Sub
Sub filePrintZ() '打印總表
'定義 PrintText 為表格內(nèi)容
Dim i, j As Integer
Dim PrintText As String
PrintText = ""
With frmMain.ActiveForm
For i = 0 To .ChengJB.Rows - 1
For j = 0 To 18
PrintText = PrintText & .ChengJB.TextArray(Fgi((i), (j)))
If j <> 18 Then
PrintText = PrintText + vbTab
Else
If i <> .ChengJB.Rows - 1 Then PrintText = PrintText + vbCrLf
End If
Next j
Next i
End With
abcd = frmMain.ActiveForm.TextShuxing(1).Text & " " & _
frmMain.ActiveForm.TextShuxing(2).Text & _
" 成績(jī)表"
Printer.ScaleLeft = -560
'定義字體并打印
Printer.FontName = "宋體"
Printer.FontSize = 22
Printer.Print " " & vbCrLf
Printer.Print abcd
Printer.FontName = "楷體_GB2312"
Printer.FontSize = 9
Printer.Print " " & vbCrLf
Printer.Print PrintText
Printer.FontName = "黑體"
Printer.FontSize = 10
Printer.Print " " & vbCrLf
Printer.Print "學(xué)生成績(jī)管理系統(tǒng) 報(bào)表輸出"
Printer.Print " 丹青閣電腦工作室"
Printer.EndDoc
End Sub
Sub filePrintTJ() '預(yù)覽簡(jiǎn)表
'定義 PrintText 為表格內(nèi)容
Dim i, j As Integer
Dim PrintText As String
PrintText = ""
With frmMain.ActiveForm
For i = 0 To .ChengJB.Rows - 1
PrintText = PrintText & .ChengJB.TextArray(Fgi((i), (0))) & vbTab
PrintText = PrintText & .ChengJB.TextArray(Fgi((i), (1))) & vbTab
PrintText = PrintText & .ChengJB.TextArray(Fgi((i), (10))) & vbTab
PrintText = PrintText & .ChengJB.TextArray(Fgi((i), (13))) & vbTab
PrintText = PrintText & .ChengJB.TextArray(Fgi((i), (16))) & vbTab
PrintText = PrintText & .ChengJB.TextArray(Fgi((i), (17))) & vbTab
PrintText = PrintText & .ChengJB.TextArray(Fgi((i), (18))) & vbCrLf
Next i
End With
abcd = frmMain.ActiveForm.TextShuxing(1).Text & " " & _
frmMain.ActiveForm.TextShuxing(2).Text & _
" 成績(jī)表"
frmYuLan.Show
frmYuLan.Caption = "打印預(yù)覽(簡(jiǎn)表) " & abcd
frmYuLan.ScaleLeft = -560
'定義字體并顯示
frmYuLan.FontName = "宋體"
frmYuLan.FontSize = 18
frmYuLan.Print " " & vbCrLf
frmYuLan.Print abcd
frmYuLan.FontName = "楷體_GB2312"
frmYuLan.FontSize = 12
frmYuLan.Print " " & vbCrLf
frmYuLan.Print PrintText
frmYuLan.FontName = "黑體"
frmYuLan.FontSize = 12
frmYuLan.Print " " & vbCrLf
frmYuLan.Print "學(xué)生成績(jī)管理系統(tǒng) 報(bào)表輸出"
frmYuLan.Print " 丹青閣電腦工作室"
End Sub
Sub filePrintTZ() '預(yù)覽總表
'定義 PrintText 為表格內(nèi)容
Dim i, j As Integer
Dim PrintText As String
PrintText = ""
With frmMain.ActiveForm
For i = 0 To .ChengJB.Rows - 1
For j = 0 To 18
PrintText = PrintText & .ChengJB.TextArray(Fgi((i), (j)))
If j <> 18 Then
PrintText = PrintText + vbTab
Else
If i <> .ChengJB.Rows - 1 Then PrintText = PrintText + vbCrLf
End If
Next j
Next i
End With
abcd = frmMain.ActiveForm.TextShuxing(1).Text & " " & _
frmMain.ActiveForm.TextShuxing(2).Text & _
" 成績(jī)表"
frmYuLan.Show
frmYuLan.Caption = "打印預(yù)覽(簡(jiǎn)表) " & abcd
frmYuLan.ScaleLeft = -560
'定義字體并顯示
frmYuLan.FontName = "宋體"
frmYuLan.FontSize = 22
frmYuLan.Print " " & vbCrLf
frmYuLan.Print abcd
frmYuLan.FontName = "楷體_GB2312"
frmYuLan.FontSize = 9
frmYuLan.Print " " & vbCrLf
frmYuLan.Print PrintText
frmYuLan.FontName = "黑體"
frmYuLan.FontSize = 10
frmYuLan.Print " " & vbCrLf
frmYuLan.Print "學(xué)生成績(jī)管理系統(tǒng) 報(bào)表輸出"
frmYuLan.Print " 丹青閣電腦工作室"
End Sub
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -