文本框两端对齐
时 间:2020-11-06 18:01:18
作 者:猫猫 ID:28985 城市:北京
摘 要:textbox文本框字符串两端对齐,看看哪位大神再给改进改进。
正 文:
'利用access textbox(64位) 分散对齐,空值每行数量,并处理文本中部分符号及尾部对齐。需要自己确定文本长度。
Function GetCharLen(pChar() As Byte) As Long
GetCharLen = 1 - (pChar(1) <> 0)
End Function
Dim myStr As String
Dim Length As Long
Dim arrStr() As String
Dim tmpLen As Long
Dim tmpBit As Long
Dim Idx As Long
Dim i As Long
Dim Fcharacters As Variant
Dim TempByte() As Byte
Dim Nullspaces As Integer
Dim Numvalues As Variant
On Error GoTo dygs_Err
Fcharacters = ",.:;?:,。;、!:?" '开头不可以出现的符号********
myStr = text_name
Length = Len(myStr)
ReDim arrStr(Length * 2)
For i = 1 To Length
tmpBit = i
tmpLen = 0
Do
tmpLen = tmpLen + GetCharLen(Mid(myStr, i, 1))
i = i + 1
Loop Until tmpLen >= number or i > Length
If tmpLen > number Then i = i - 1
If InStr(Fcharacters, Right(Mid(myStr, tmpBit, i - tmpBit + 1), 1)) <> 0 And _
InStr(Fcharacters, Left(Mid(myStr, tmpBit, i - tmpBit), 1)) <> 0 Then
arrStr(Idx) = Mid(myStr, tmpBit + 1, i - tmpBit + 1)
Else
If InStr(Fcharacters, Right(Mid(myStr, tmpBit, i - tmpBit + 1), 1)) <> 0 Then
arrStr(Idx) = Mid(myStr, tmpBit, i - tmpBit + 1)
Else
If InStr(Fcharacters, Left(Mid(myStr, tmpBit, i - tmpBit), 1)) <> 0 Then
arrStr(Idx) = Mid(myStr, tmpBit + 1, i - tmpBit)
Else
arrStr(Idx) = Mid(myStr, tmpBit, i - tmpBit)
End If
End If
End If
Idx = Idx + 1
i = i - 1
Next i
ReDim Preserve arrStr(Idx)
'尾端数据对齐,判断数组最后一行字符串数量并添加空值。
TempByte = Mid(myStr, tmpBit, i)
If (UBound(TempByte) + 1) > number Then
Nullspaces = number - (UBound(TempByte) + 1) Mod number
Else
Nullspaces = number - (UBound(TempByte) + 1)
End If
For Z = 1 To Nullspaces
Numvalues = Numvalues & Chr(2)
Next
AlignBothEnds = Left(Join(arrStr, vbCrLf), Len(Join(arrStr, vbCrLf)) - 1) & Numvalues
dygs_Exit:
Exit Function
dygs_Err:
MsgBox Error$
Resume dygs_Exit
End Function
Private Sub Command1_Click()
Text2 = AlignBothEnds(Text1, 63)
End Sub
附 件:
Access软件网QQ交流群 (群号:150401543) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access查询身份证格式位数...(09.22)
- 【Access TOP取值示例...(09.11)
- 【Access批量设置条件格式...(09.04)
- 【Access批量设置条件格式...(08.30)
- Access仿平台的多值选择器...(08.24)
- Access通过按钮获取当前选...(08.23)
- 【Accesss Column...(08.11)
- Access自定义小数位的示例(07.25)
- 【Accesss源码示例】提取...(07.17)

学习心得
最新文章
- 2023中秋快乐!!!(09.29)
- Access控件值满足条件时,下一...(09.28)
- 如何给组合框字段设置行来源SQL代...(09.27)
- 《Access快速开发基础教程》免...(09.26)
- Microsoft Access ...(09.25)
- Microsoft Access ...(09.25)
- 【Access条件格式示例】Acc...(09.25)
- Access快速开发平台--通用附...(09.22)
- 您为该字段输入的值无效/您可能在数...(09.22)
- Access查询身份证格式位数不正...(09.22)