我的解决办法:
Public Sub AutoColWidth(Mygrid As MSHFlexGrid)
With Mygrid
Dim I As Long
Dim J As Long
Dim MaxWidth As Integer
Dim NowWidth As Integer
Dim CharWidth As Single
CharWidth = Biao.Parent.TextWidth("A")
For J = 0 To .Cols - 1
MaxWidth = 0
For I = 0 To .Rows - 1
NowWidth = LenC(.TextMatrix(I, J))
If NowWidth > MaxWidth Then
MaxWidth = NowWidth
End If
Next I
.ColWidth(J) = (MaxWidth + 1) * CharWidth
Next J
End With
End SubPublic Function LenC(Zfc As String) As Long
'求得中英文混合字符串的长度
Dim a As String
a = StrConv(Zfc, vbFromUnicode)
LenC = LenB(a)
End Function
Public Sub AutoColWidth(Mygrid As MSHFlexGrid)
With Mygrid
Dim I As Long
Dim J As Long
Dim MaxWidth As Integer
Dim NowWidth As Integer
Dim CharWidth As Single
CharWidth = Biao.Parent.TextWidth("A")
For J = 0 To .Cols - 1
MaxWidth = 0
For I = 0 To .Rows - 1
NowWidth = LenC(.TextMatrix(I, J))
If NowWidth > MaxWidth Then
MaxWidth = NowWidth
End If
Next I
.ColWidth(J) = (MaxWidth + 1) * CharWidth
Next J
End With
End SubPublic Function LenC(Zfc As String) As Long
'求得中英文混合字符串的长度
Dim a As String
a = StrConv(Zfc, vbFromUnicode)
LenC = LenB(a)
End Function
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货