📄 数据文件_录入f4.frm
字号:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
Begin VB.Form frmGridArray
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "录入显示数据"
ClientHeight = 8775
ClientLeft = 60
ClientTop = 345
ClientWidth = 12720
LinkTopic = "Form1"
ScaleHeight = 8775
ScaleWidth = 12720
StartUpPosition = 3 '窗口缺省
Begin MSFlexGridLib.MSFlexGrid MSFlexGrid1
Height = 8055
Left = 0
TabIndex = 1
TabStop = 0 'False
Top = 600
Width = 12615
_ExtentX = 22251
_ExtentY = 14208
_Version = 393216
BackColorFixed = -2147483639
BackColorBkg = 16777215
AllowUserResizing= 1
End
Begin VB.CommandButton cmdExit
Caption = "退 出"
Height = 375
Left = 6000
TabIndex = 5
TabStop = 0 'False
ToolTipText = "结束程序运行"
Top = 120
Width = 1455
End
Begin VB.CommandButton cmdPrint
Caption = "打 印"
Height = 375
Left = 4560
TabIndex = 4
TabStop = 0 'False
ToolTipText = "打印机打印录入数据"
Top = 120
Width = 1455
End
Begin VB.CommandButton cmdSave
Caption = "保 存"
Height = 375
Left = 3240
TabIndex = 3
TabStop = 0 'False
ToolTipText = "将录入数据保存到数据文件"
Top = 120
Width = 1335
End
Begin VB.TextBox txtInput
Alignment = 2 'Center
Height = 390
Left = 1440
TabIndex = 0
Top = 120
Width = 1455
End
Begin VB.Label Label1
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "第1行:第1列"
ForeColor = &H80000008&
Height = 255
Left = 240
TabIndex = 2
Top = 240
Width = 1095
End
End
Attribute VB_Name = "frmGridArray"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'网格录入窗体
Option Explicit
Dim intI As Integer, intJ As Integer
Dim intStartRow As Integer
Private Sub Form_Load()
MSFlexGrid1.Rows = intRowAll + 1
MSFlexGrid1.Cols = intCol + 1
'MSFlexGrid1.Cols-1为网格总列数
'MSFlexGrid1.Rows-1为网格总行数
'建立说明列
For intI = 1 To MSFlexGrid1.Cols - 1
MSFlexGrid1.Row = 0 '说明列在第0行
MSFlexGrid1.Col = intI '设定当前列
MSFlexGrid1.Text = "第" & intI & "列"
Next intI
intStartRow = 1
'建立说明行
'第1行为列数
MSFlexGrid1.Col = 0 '说明行在第0列
MSFlexGrid1.Row = intStartRow '设定当前行
MSFlexGrid1.Text = "列数"
MSFlexGrid1.Col = 1 '第1列为列数
MSFlexGrid1.Text = intCol '列数
If intCol >= 2 Then
For intJ = 2 To MSFlexGrid1.Cols - 1
MSFlexGrid1.Col = intJ '设定当前列
MSFlexGrid1.Text = "*********"
Next intJ
End If
intStartRow = 2
'第2行为行数
MSFlexGrid1.Col = 0 '说明行在第0列
MSFlexGrid1.Row = intStartRow '设定当前行
MSFlexGrid1.Text = "行数"
MSFlexGrid1.Col = 1 '第1列为行数
MSFlexGrid1.Text = intRow '行数
If intCol >= 2 Then
For intJ = 2 To MSFlexGrid1.Cols - 1
MSFlexGrid1.Col = intJ '设定当前列
MSFlexGrid1.Text = "*********"
Next intJ
End If
intStartRow = 3
'第3行为总行数
MSFlexGrid1.Col = 0 '说明行在第0列
MSFlexGrid1.Row = intStartRow '设定当前行
MSFlexGrid1.Text = "总行数"
MSFlexGrid1.Col = 1 '第1列为总行数
MSFlexGrid1.Text = intRowAll '总行数
If intCol >= 2 Then
For intJ = 2 To MSFlexGrid1.Cols - 1
MSFlexGrid1.Col = intJ '设定当前列
MSFlexGrid1.Text = "*********"
Next intJ
End If
intStartRow = 4
'标题
If blnTitle Then '有标题
MSFlexGrid1.Col = 0 '说明行在第0列
MSFlexGrid1.Row = intStartRow '设定当前行
MSFlexGrid1.Text = "标题"
If intCol >= 2 Then
For intJ = 2 To MSFlexGrid1.Cols - 1
MSFlexGrid1.Col = intJ '设定当前列
MSFlexGrid1.Text = "*********"
Next intJ
End If
intStartRow = 5
End If
'行标
If blnRowLabel Then '有行标
For intI = 1 To intRow
MSFlexGrid1.Col = 0 '说明行在第0列
MSFlexGrid1.Row = intI + intStartRow - 1
MSFlexGrid1.Text = "行标" & intI
If intCol >= 2 Then
For intJ = 2 To intCol
MSFlexGrid1.Col = intJ '设定当前列
MSFlexGrid1.Text = "*********"
Next intJ
End If
Next intI
intStartRow = intStartRow + intRow
End If
'列标
If blnColLabel Then '有列标
MSFlexGrid1.Col = 0 '说明行在第0列
MSFlexGrid1.Row = intStartRow
MSFlexGrid1.Text = "列标"
intStartRow = intStartRow + 1
End If
'数字行
For intI = intStartRow To MSFlexGrid1.Rows - 1
MSFlexGrid1.Col = 0 '说明行在第0列
MSFlexGrid1.Row = intI '设定当前行
MSFlexGrid1.Text = "第" & (intI - intStartRow + 1) & "行"
Next intI
MSFlexGrid1.Row = 1
MSFlexGrid1.Col = 1
Label1.Caption = "第1行:第1列"
End Sub
'用户单击单元时,将该单元内容复制到文本框控件
'然后可以进行编辑
Private Sub MSFlexGrid1_EnterCell()
'将当前说明列和当前说明行赋予标签
Label1 = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) & ":" _
& MSFlexGrid1.TextMatrix(0, MSFlexGrid1.Col)
'将当前单元格内容赋予文本框
txtInput.Text = MSFlexGrid1.Text
End Sub
'文本框数据处理,按Enter键或Tab键结束一个网格数据的录入
Private Sub txtInput_KeyPress(KeyAscii As Integer)
Dim intR As Integer, intC As Integer
If KeyAscii = 13 Or KeyAscii = 9 Then '13为Enter键,9为Tab键
MSFlexGrid1.Text = txtInput.Text '文本框数据送入网格
intC = MSFlexGrid1.Col + 1 '焦点移到同行的下一列
intR = MSFlexGrid1.RowSel '单元格返回当前行
If intC = MSFlexGrid1.Cols Then '如果到了最后一列
intC = MSFlexGrid1.FixedRows 'intC=1,FixedRows的缺省设置
'如果intR没有到边界行则取下一行
If intR < MSFlexGrid1.Rows - MSFlexGrid1.FixedRows Then _
intR = intR + 1
End If
MSFlexGrid1.Row = intR '新的当前行
MSFlexGrid1.Col = intC '新的当前列
MSFlexGrid1.ColSel = intC '为单元格设置的当前列
txtInput.Text = MSFlexGrid1.Text '单元格数据赋予文本框
txtInput.SetFocus '文本框取得焦点
End If
End Sub
'保存
Private Sub cmdSave_Click()
Dim intFileNumber As Integer
Dim vntA As Variant
MsgBox "开始保存数据,请耐心等待!"
intFileNumber = FreeFile '取得空闲的文件号
Open strFileName For Output As intFileNumber '打开文件
For intI = 1 To intRowAll
For intJ = 1 To intCol
'将数组中的数据写到文件上
Write #intFileNumber, MSFlexGrid1.TextMatrix(intI, intJ);
Next intJ
Next intI
'将对列的注释写入文件
For intI = 1 To intCol
Write #intFileNumber, MSFlexGrid1.TextMatrix(0, intI);
Next intI
'将对行的注释写入文件
For intI = 1 To intRowAll
Write #intFileNumber, MSFlexGrid1.TextMatrix(intI, 0);
Next intI
Close '关闭文件
MsgBox "保存数据完成,请继续进行!"
End Sub
'打印
Private Sub cmdPrint_Click()
Dim intI1 As Integer, intI2 As Integer
intI1 = 1: intI2 = 8
If intCol <= 8 Then intI2 = intCol
AA1:
Printer.Print ,
For intI = intI1 To intI2
MSFlexGrid1.Row = 0 '设定保存标志列的行(0行)
MSFlexGrid1.Col = intI '设定当前列
Printer.Print MSFlexGrid1.Text, '打印列标志
Next intI
For intI = 1 To intRowAll
Printer.Print
MSFlexGrid1.Col = 0 '设定保存标志行的列(0列)
MSFlexGrid1.Row = intI '设定当前行
Printer.Print MSFlexGrid1.Text, '打印行标志
For intJ = intI1 To intI2 '打印数据
MSFlexGrid1.Col = intJ
Printer.Print MSFlexGrid1.Text,
Next intJ
Next intI
If intI2 < intCol Then
intI1 = intI1 + 8
intI2 = intI2 + 8
If intI2 > intCol Then intI2 = intCol
Printer.Print
Printer.Print
GoTo AA1
End If
Printer.EndDoc '执行打印
End Sub
'退出
Private Sub cmdExit_Click()
Unload Me
End
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -