开始时是不能设的,在程序中写可以,两种你分别试试就好了: ............. 求表格每一列的最大字符数的长度,再将长度转换成列的宽度'最大字符数的长度: Dim L1 As Integer 'L1表示某一列的最大字符数 Dim i As Integer For i = 1 To MSFlexGrid1.Rows If Len(Trim(MSFlexGrid1.TextMatrix(i, 1))) > L1 Then L1 = Len(Trim(MSFlexGrid1.TextMatrix(i, 1))) End If Next i '转换成列的宽度 MSFlexGrid1.ColWidth(1) = L1 * 300 '一个汉字用300,字母用1500 ................... 这是我刚改过的,保证显示 标题和信息Dim L1 As Integer 'L1表示某一列的最大字符数 Dim i As Integer Dim L2 As Integer For i = 1 To MSFlexGrid1.Cols - 1 L1 = Len(Trim(MSFlexGrid1.TextMatrix(1, i))) L2 = Len(Trim(MSFlexGrid1.TextMatrix(0, i))) If Len(Trim(MSFlexGrid1.TextMatrix(1, i))) < Len(Trim(MSFlexGrid1.TextMatrix(0, i))) Then MSFlexGrid1.ColWidth(i) = L2 * 300 Else MSFlexGrid1.ColWidth(i) = L1 * 300 End If
.............
求表格每一列的最大字符数的长度,再将长度转换成列的宽度'最大字符数的长度:
Dim L1 As Integer 'L1表示某一列的最大字符数
Dim i As Integer
For i = 1 To MSFlexGrid1.Rows
If Len(Trim(MSFlexGrid1.TextMatrix(i, 1))) > L1 Then
L1 = Len(Trim(MSFlexGrid1.TextMatrix(i, 1)))
End If
Next i
'转换成列的宽度
MSFlexGrid1.ColWidth(1) = L1 * 300 '一个汉字用300,字母用1500
...................
这是我刚改过的,保证显示 标题和信息Dim L1 As Integer 'L1表示某一列的最大字符数
Dim i As Integer
Dim L2 As Integer For i = 1 To MSFlexGrid1.Cols - 1
L1 = Len(Trim(MSFlexGrid1.TextMatrix(1, i)))
L2 = Len(Trim(MSFlexGrid1.TextMatrix(0, i)))
If Len(Trim(MSFlexGrid1.TextMatrix(1, i))) < Len(Trim(MSFlexGrid1.TextMatrix(0, i))) Then
MSFlexGrid1.ColWidth(i) = L2 * 300
Else
MSFlexGrid1.ColWidth(i) = L1 * 300
End If
Next i