
作りたい動作は特定のアプリケーションで「(1)F12を押す⇒(2)Alt+Pを押す⇒(3)70秒待機⇒(4)F12を押す((1)~(4)を無限にループ)(5)ESCキーでマクロを停止」です。特に座標の指定などありませんので一通り自分で挑戦してみましたが素人構成なのでうまく動作しませんでした。あれこれとしてみた結果、結局どういった風に組んでよいか分からず途方にくれています・・・。詳しい方がいらっしゃいましたらご教授ください。よろしくお願いします。
以下組んでみたスクリプト
ACW(GETID("使いたいアプリケーション"))
while TRUE
if GETKEYSTATE(VK_ESC) then exit
KBD(VK_F12,DOWN,77)
KBD(VK_F12,UP,77)
SLEEP(1)
sleep(72+random(15))
KBD(VK_F12,DOWN,77)
Print "休憩中"
wend

No.2ベストアンサー
- 回答日時:
このスクリプトには「(2)のAlt+Pを押す」の処理が入ってませんよ。
それに(5)の停止処理はその書き方だと停止することは非常にまれです。なぜならGETKEYSTATEは、スクリプトがそこを通った時にしか状態をチェックしないためです。なので、とりあえずこんな感じに直す必要があるでしょう。質問の(4)ですが、そのまま実装するとF12を押した後にまたすぐ(1)でF12を押すことになり、無駄だと思ったので入れていません。winid=GETID("使いたいアプリケーション")
While TRUE
ACW(winid)
//(1)
Sckey(winid,VK_F12)
//(2)
Sckey(winid,VK_ALT,P)
//(3)
Print "休憩中"
For i=1 To 700 //(5)0.1秒単位で数えるので70*10回ループする
If GetKeyState(VK_ESC) Then Exit
Sleep(0.1)
Next
Print "休憩終わり"
Wend
ACWをWhileループの中に入れた理由は、万一違うソフトにフォーカスが移ると目的のソフトにキー入力が届かない心配があり、そうなるのを避けるためです。
UWSCの時間指定はトラップで、Sleepは秒単位なのにそれ以外はミリ秒単位です。なのでKBD(VK_F12,DOWN,77)だと、77秒じゃなくて77ミリ秒(0.077秒)となります。
No.1
- 回答日時:
私もあまり詳しくはないですが
while TRUE
//if GETKEYSTATE(VK_ESC) then exitexit //exitexit・・・UWSCを終わる
if GETKEYSTATE(VK_ESC) then break //break・・・ループを抜ける
KBD(VK_F12,DOWN,300)
SLEEP(0.1)
KBD(VK_F12,UP,300)
//sleep(72+random(15))
秒数 = (1+random(15))
for i = 1 to 秒数 step 1
SLEEP(1)
ifb GETKEYSTATE(VK_ESC) then
KBD(VK_F12,DOWN,300)
//exitexit
break
endif
next
KBD(VK_F12,DOWN,300)
Print "休憩中"
wend
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CPU・メモリ・マザーボード pcの質問です。電源を入れると起動してすぐ消え、その3秒後にまた起動するようになりました。 3 2023/06/10 19:49
- Windows Me・NT・2000 widows xpのエラーで利用ができなくなりました 3 2022/12/21 13:43
- その他(プログラミング・Web制作) uwscとWinShotを使いスクリーンショットを撮る 1 2022/06/30 21:15
- F1・モータースポーツ 【F1】2026年に日本のホンダが2年半ぶりにマクラーレンにPUを提供してタッグを組ん 1 2023/06/05 21:23
- デスクトップパソコン MACのF1からF12までのキーをNECキーボードで操作できるようにする方法を教えてください。 2 2023/04/01 21:45
- 物理学 写真の解説の赤枠部分についてですが、 なぜ、(-vk-1)と-が付くのかがわからないです。 解説の③ 1 2023/02/10 23:54
- 数学 「FFTの基本は、DFTはサンプル数Nが偶数なら 2つのDFTに分解できるということ。 分解するとD 3 2022/03/31 21:01
- CPU・メモリ・マザーボード 起動時にF1を要求されます。 2 2023/01/22 12:55
- テレビ SwitchBot HUBmini テレビの操作 1 2023/02/26 21:37
- Windows 10 Windows10でボリュームのアップダウンを簡単にできる方法ないですか? 1 2023/06/20 13:06
このQ&Aを見た人はこんなQ&Aも見ています
-
【お題】大変な警告
【大喜利】「今このパソコンは大変危険な状態です」という警告メッセージを無視してパソコンを開いたら、こんなことが起こった
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
あなたの人生で一番ピンチに陥った瞬間は?
これまでの人生で今振り返ると「あの時、1番ピンチだったなぁ...」という瞬間はありますか?
-
【お題】斜め上を行くスキー場にありがちなこと
運営も客も一流を通り越して斜め上を行くスキー場にありがちなことを教えて下さい。
-
UWSCのプログラムについて。キーを押し続けているあいだ待機状態にしたい
その他(プログラミング・Web制作)
-
UWSCの終了の仕方
その他(プログラミング・Web制作)
-
UWSC 非アクティブウィンドウへのキー入力
その他(ソフトウェア)
-
-
4
UWSCのスクリプトにラグが発生します。
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Escキーを押すと、中断する時と...
-
範囲指定したセルを1つずつ飛...
-
画面を強制的に再描画させる方法
-
ループフリー
-
UWSCの終了の仕方
-
Do whileでExitせず、ループの...
-
VBA for i=1 to lastrow
-
vb.netからエクセル関数書き込み
-
エクセルの当番表を作っていま...
-
ボタンが押された時にループか...
-
WinAPI「MsgWaitForMultipleObj...
-
レインボー色ってどうやって表...
-
流れ図(フローチャート)が分か...
-
VBA横データを縦にしたいです
-
EXCEL VBA ユーザーフォームの...
-
DOSコマンドのループ内のTIMEコ...
-
データベースをEOFまでループさ...
-
CSVファイルの特定の行だけを読...
-
UWSCのスクリプトで行き詰って...
-
vb.netです。2次元配列の要素を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
UWSCの終了の仕方
-
VBAでの一時停止と再開の方法
-
範囲指定したセルを1つずつ飛...
-
Escキーを押すと、中断する時と...
-
VBAで3秒だけ時間を止めたい
-
DoEventsが必要な理由について
-
vb.netです。2次元配列の要素を...
-
乱数の桁数指定、または範囲指定。
-
DOSコマンドのループ内のTIMEコ...
-
CSVファイルの特定の行だけを読...
-
VBA for i=1 to lastrow
-
エクセルの当番表を作っていま...
-
UWSCに制限時間を付けたいです
-
Do whileでExitせず、ループの...
-
vb.netからエクセル関数書き込み
-
null 参照の例外が実行時に発生...
-
VB.NETで素因数分解のプログラ...
-
イベントの発生を待つ
-
GIFアニメをループさせたくない
おすすめ情報