人気ブログランキング | 話題のタグを見る

[VBScript] 貧弱なユーザインターフェースを拡張する(ボタン操作版)

どーもボキです。

VBScript自体にはボタン押下を判定する機能はないが、Excelを利用すればそれが可能。
Excelの機能を使うので、ExcelがインストールされていないPCではこれは利用できない。

CheckKeyDownの利用サンプル
WScript.Echo "CheckKeyDown=" & CheckKeyDown(&h10) ' Shiftキー
[VBScript] 貧弱なユーザインターフェースを拡張する(ボタン操作版)_a0021757_11063780.png
CheckKeyDownのソース
'-------------------------------------------------------------------------------
' 指定キーが押されているか判定する(Excelを利用する)
'-------------------------------------------------------------------------------
Function CheckKeyDown(Key)
Dim objExcel,cmd,r

r = False
On Error Resume Next

Set objExcel = CreateObject("Excel.Application")
cmd = "CALL(""user32.dll"", ""GetKeyState"", ""JJ"", " & key & ")"
r = (objExcel.ExecuteExcel4Macro(cmd) And &h8000) <> 0
objExcel.Quit

On Error GoTo 0
CheckKeyDown = r
End Function


ボタン数値一覧表(※A~Zボタンは、Asc("A")~Asc("Z")、とすればよい)

┌─────────┬───┐
│ ボタン │ 値 │
├─────────┼───┤
│マウス左ボタン │ &H1│
│マウス右ボタン │ &H2│
│[Cancel] │ &H3│
│マウスの中央ボタン│ &H4│
│[Back Space] │ &H8│
│[TAB] │ &H9│
│[Clear] │ &HC│
│[Enter] │ &HD│
│[Shift] │ &H10│
│[右Shift] │ &HA1│
│[Control] │ &H11│
│[右Control] │ &HA3│
│[Menu] │ &H12│
│[右Menu] │ &HA5│
│[Pause] │ &H13│
│[Caps Lock] │ &H14│
│[Esc] │ &H1B│
│[Space] │ &H20│
│[Page Up] │ &H21│
│[Page Down] │ &H22│
│[End] │ &H23│
│[Home] │ &H24│
│[←] │ &H25│
│[↑] │ &H26│
│[→] │ &H27│
│[↓] │ &H28│
│[Select] │ &H29│
│[Print Screen] │ &H2A│
│[Execute] │ &H2B│
│[Snap Shot] │ &H2C│
│[Insert] │ &H2D│
│[Delete] │ &H2E│
│[Help] │ &H2F│
│テンキーの[0] │ &H60│
│テンキーの[1] │ &H61│
│テンキーの[2] │ &H62│
│テンキーの[3] │ &H63│
│テンキーの[4] │ &H64│
│テンキーの[5] │ &H65│
│テンキーの[6] │ &H66│
│テンキーの[7] │ &H67│
│テンキーの[8] │ &H68│
│テンキーの[9] │ &H69│
│テンキーの[*] │ &H6A│
│テンキーの[+] │ &H6B│
│テンキーの[Enter] │ &H6C│
│テンキーの[-] │ &H6D│
│テンキーの[.] │ &H6E│
│テンキーの[/] │ &H6F│
│[F1] │ &H70│
│[F2] │ &H71│
│[F3] │ &H72│
│[F4] │ &H73│
│[F5] │ &H74│
│[F6] │ &H75│
│[F7] │ &H76│
│[F8] │ &H77│
│[F9] │ &H78│
│[F10] │ &H79│
│[F11] │ &H7A│
│[F12] │ &H7B│
│[F13] │ &H7C│
│[F14] │ &H7D│
│[F15] │ &H7E│
│[F16] │ &H7F│
│[F17] │ &H80│
│[F18] │ &H81│
│[F19] │ &H82│
│[F20] │ &H83│
│[F21] │ &H84│
│[F22] │ &H85│
│[F23] │ &H86│
│[F24] │ &H87│
│[Num Lock] │ &H90│
└─────────┴───┘

by yozda | 2020-05-17 11:13 | プログラミング | Comments(0)