第4个回答 2010-09-25
决对好用的,可以任意多个字符同时转换
下面直接复制到你的代码里就可以用,我用的过程,直接在你的源字符串内改动
/////////////////////////////////////////////////////////////////////
Private Sub 换字符(源字符串 As String, ParamArray 转换表()) '转换表格式为 "我->你"
Dim L As String, R As String, i As Integer
For i = 0 To UBound(转换表)
If Len(转换表(i)) = 4 Then
If InStr(转换表(i), "->") Then
L = L & Left(转换表(i), 1)
R = R & Right(转换表(i), 1)
Else
If InStr(转换表(i), "<-") Then
R = R & Left(转换表(i), 1)
L = L & Right(转换表(i), 1)
Else
MsgBox "你输入的格式不对,应为 " & vbCrLf & _
"你->我" & " 或者 " & "你<-我"
End If
End If
End If
Next
Dim k As Long, s As String, j As Long
For j = 1 To Len(源字符串)
s = Mid(源字符串, j, 1)
k = InStr(L, s)
If k Then Mid(源字符串, j, 1) = Mid(R, k, 1)
Next
End Sub
/////////////////////////////////////////////////////////////////////
下面是调用方法
Dim s As String
s = "你找我做什么"
Print s
换字符 s, "我->你", "我<-你" ''后面可以加任意个 ^_^
Print s