ページ 11

ランダムな数字を入力

Posted: 2007年2月13日(火) 21:42
by Kosuke
はじめまして。ABを最近使うようになったコウスケです。
早速ですが、

keybd_event(VK_,MapVirtualKey(VK_SNAPSHOT,0),0,0)
keybd_event(VK_,MapVirtualKey(VK_SNAPSHOT,0),KEYEVENTF_KEYUP,0)



'定数の宣言
Const UseChar1="0123456789"

'指定した文字数を持つランダムな文字列を生成する
’Function RandomString1(Length As DWord) As String
Dim i As DWord
Randomize
For i=1 To Length
RandomString1=RandomString1 & Mid$(UseChar1,Fix(Rnd()*Len(UseChar1))+1,1)
Next
End Function

’RandomString1(1)

を使って数字をランダムに打ちたいのですが、うまくいきません。
どうすればよいのですか。

Posted: 2007年2月13日(火) 22:57
by konisi
#ここは質問板ではないんですが・・・

keybd_eventは、String型ではなくキーボードの番号(英小文字以外の殆どがAsc関数の返り値と同じ。)で指定します。

コード: 全て選択

Dim UseChar1="0123456789" As String

Function RandomKeybdPush(Length As DWord) As String 
    Dim i As DWord,VK As Long
    Randomize 
    For i=1 To Length 
        VK=UseChar1[Int(Rnd()*(Len(UseChar)-1)]
        keybd_event(VK,0,0,0)
        keybd_event(VK,0,KEYEVENTF_KEYUP,0)
    Next 
End Function 
Lengthが大きい場合、ループ内にSleep挟まないとうまく打ち込めない事があるかも。