2017-08-31 3 views
3

私は、ユーザーから複数行の従業員データを読み込む必要があるAutoHotkeyスクリプトを持っています。AutoHotkeyで複数行のユーザー入力を読むにはどうすればよいですか?

InputBox, userInput, Employee Records, Please enter employee records. (One per line) 

残念ながら、InputBoxは、1行のテキストしか入力できません。 と入力して改行を追加しようとすると、入力されたデータはすべて送信されます。

AutoHotkeyスクリプトで複数行のユーザー入力を取得するにはどうすればよいですか?

user input

答えて

2

を示していますこれは

F3::MsgBox % MultiLineInput("Employee Records", "Please enter employee records (One per line):") 

MultiLineInput(title, prompt) 
{ 
    static input 
    input := "" 
    Gui, Add, Text,, %prompt% 
    Gui, Add, Edit, w400 h60 vinput 
    Gui, Add, Button, gokay_pressed, Okay 
    Gui, Add, Button, cancel X+8 YP+0, Cancel 
    Gui, Show, Center autosize, %title% 
    WinWaitClose %title% 
    return input 

    okay_pressed: 
    Gui Submit 
    Gui Destroy 
    return 

    GuiClose: 
    GuiEscape: 
    ButtonCancel: 
    Gui, Destroy 
    return 
} 
ジェネリック複数行入力機能を実装
+0

バインドされた変数は静的またはグローバルである必要があります –

+0

MultiLineInput()は、キャンセルが選択されていてもユーザーの入力を文字列として返します。 –

+0

これをGitHubのライブラリとしてホストしたいですか?私は自分自身がこの機能をかなり頻繁に使用していることを発見し、それをさらに発展させることを手助けしたいと考えています –

2

これは、複数行入力ボックス

F2:: 
    Gui, Add, Text,, Please enter employee records (One per line): 
    Gui, Add, Edit, w600 h60 vinput 
    Gui, Add, Button, gokay_pressed, Okay 
    Gui, Add, Button, cancel X+8 YP+0, Cancel 
    Gui, Show, Center autosize, Employee Records 
    Return 

okay_pressed: 
    Gui Submit 
    Gui Destroy 
    MsgBox %input% 
    Return 

GuiClose: 
GuiEscape: 
ButtonCancel: 
    Gui, Destroy 
    return 

enter image description here

関連する問題