1

入力ボックスに入力した後、複数文字の変数 (xx.xx 形式の数値) を認識できるスクリプトを作成しようとしています。xx.xx 形式で変数を入力ボックスに入力すると、変数は最初の文字を使用して単一の文字としてのみ表示されます。たとえば、入力ボックスに 10.80 を入力すると、スクリプトの実行時に再利用された変数は 1 としてのみ表示されます。

変数を使用するスクリプトの一部を次に示します。

Dim $price
$price = InputBox("Offer Price", "Input Offer Price")

Send("{TAB}")

Send("{"& $price &"}") ; Enters variable

Send("{DOWN}{TAB}{TAB}{TAB}{ENTER}")
4

2 に答える 2

2
Send("{100000000000000000}")

文字 1 を送信します。

Send("100000000000000000")

文字 100000000000000000 を送信します。

Send で {中かっこ} をいつ使用するかについて、多くの人が混乱しています。

代わりにこれを行うようにスクリプトを変更します。

Send($price) ; enters variable
于 2011-05-12T21:59:05.730 に答える
1

私はあなたの質問を完全に誤解しているかもしれないと感じていますが、入力が特定の入力パターンを満たしているかどうかを確認し、その左端の文字を表示する入力ボックスを求めているようです。これはそれを行います。

While 1
    Local $responce = InputBox('Offer Price', 'Input offer price in XX.XX format.')
    If @error == 1 Then
        MsgBox(0, 'Cancel Pressed', 'You pressed cancel exiting loop.')
        ExitLoop
    EndIf

    If StringRegExp($responce, '\d{2}\.\d{2}') Then
        MsgBox(0, 'Success', 'The input fit the pattern XX.XX and the left most character of it = ' & StringLeft($responce, 1))
        ExitLoop
    Else
        MsgBox(0, 'Invalid Input', 'The input needs to be a number in XX.XX format.')
    EndIf
WEnd
于 2011-06-10T22:27:31.610 に答える