区位码这样实现:
Private Sub Command1_Click()
Dim a(2) As String
Randomize
For i = 0 To 2
a(i) = fromquwei(Format(Int(20 + 40 * Rnd), "00") & Format(Int(95 * Rnd), "00"))
Next
Label1.Caption = Join(a, "")
End Sub
Function fromquwei(ByVal x As Long) As String
If Len(x) <> 4 Then
Exit Function
Else
Dim temp As String
temp = Hex(Val(Left(x, 2)) + 160) & Hex(Val(Right(x, 2)) + 160)
fromquwei = Chr("&H" & temp)
End If
End Function
Dim aa As Long
aa = Int(-10000 * Rnd(1)) - 10000
MsgBox Chr(aa)
aa = Int(-10000 * Rnd(1)) - 10000
MsgBox Chr(aa)
aa = Int(-10000 * Rnd(1)) - 10000
MsgBox Chr(aa)
好象范围有错,确定范围后就不会出现一些乱码
一个简单的例子:
Option Explicit
Dim s As String
Private Sub Command1_Click()
Dim i As Long
i = Len(s)
Dim j As Long, str As String, k As Long
For j = 1 To 3
Randomize Time
k = (CLng(Rnd() * i) Mod i) + 1
Debug.Print "num " + CStr(j) + "=" + CStr(k)
str = str + Mid(s, k, 1)
Next
Me.Label1.Caption = str
End Sub
Private Sub Form_Load()
s = "歼击机达到事实亲切文物辨别方法团体"
End Sub