|
ExcelQ&Aさろんに回答として載せたものですが、全く使いそうにないので、
ここに残しておけば、誰かしらの参考になるのでは?と思いまして・・・。
ただ、一時停止中の編集作業等には、あまり耐えられないと思います。
こういう動作は、ゲーム作成者の人の方が得意そうですが。
その1、
参考
「ExcelQ&Aさろん」のTopから、VBAアクションゲームの世留と仙人
ht tp://www1.plala.or.jp/chikada/cell/0101/0101.htm
キーコード表など
ht tps://excel-excel.com/tips/vba_305.html
Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Long
Sub aaa()
Dim i As long
For i = 1 To 20000
Cells(i, 1).Select
Cells(i,1).Value = i
If GetAsyncKeyState(16) <> 0 Then 'Shiftキーで、一時停止
Do
If GetAsyncKeyState(17) <> 0 Then 'Ctrlキーで、再開
Exit Do
End If
DoEvents
Loop
End If
Next
End sub
その2
標準モジュール
Public flg As Boolean
Sub aaa()
Dim i As Long
For i = 1 To 3
For ii = 1 To 1000
Cells(ii, i).Value = ii
Cells(ii, i).Select
Next
UserForm1.Show 0
Do
DoEvents
Loop Until flg = True
Next
End Sub
ユーザーフォームを1つ作り一次停止中とか・・・。
ボタンを1つ、無くてもいいけど。
フォームモジュール
Private Sub UserForm_Initialize()
flg = False
End Sub
'閉じるボタン
Private Sub CommandButton1_Click()
Unload Me
End Sub
'フォームを閉じたら再開(右上のXボタン含む)
Private Sub UserForm_Terminate()
flg = True
End Sub
|
|