会社貸与PCがログオフしすぎで困る
会社貸与パソコンって
こんちは😃
皆さん、新型コロナに負けず、テレワークしてます?
それとも、テレワークを自動化して、サボってます?
今日は、会社貸与パソコンのお話💻
会社貸与PCって、5~15分でログオフするし、ログオフ時間設定できないですよね?
トイレ行ってる間に、ログオフになってたり😓
ちょっと、ドラッグストアにマスクないかな~と、覗きに行ってる間にログオフになってたり😴
一日に、何回も何回も!ログインパスワード叩かないといけない😥
そんな設定だと、メールに気付かないことも多くないですか?
それで、「メールみてない」とか、文句言われても困りますよね?
マクロ組んでみた
知ってます?ログオフ設定が短くても、マウスさえ動かしてればログオフしないんだよ?
知ってるか😅
だから、『マウス動かし続ける』ピタゴラスイッチ♪みたいなものを作ろうと思った、、、
でも、よく考えてみたら、VBAで何か作った方が早いなと思って、サクサクっと作ってみました👍
要するに、マウスのカーソルさえ動いていればログオフしないわけで、、、
一定の間隔で、カーソルを動かし続けるマクロ✨
ソースコード
以下のAPI使ってます。
Declare Function SetCursorPos Lib "User32" (ByVal X As Long, ByVal Y As Long) As Long Declare Sub Sleep Lib "kernel32" (ByVal ms As Long) Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Long
上から順に、『カーソル動かす』、『待機する』、『キー入力を判断する』といったAPIです。
んで、全体↓
Option Explicit Declare Function SetCursorPos Lib "User32" (ByVal X As Long, ByVal Y As Long) As Long Declare Sub Sleep Lib "kernel32" (ByVal ms As Long) Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Long Sub pointaugokasu() Dim b As Boolean Do If GetAsyncKeyState(vbKeyLeft) Then'① Exit Do End If If b = True Then'② SetCursorPos 1, 1 b = False Else SetCursorPos 2, 1 b = True End If Sleep 1000'③ DoEvents Loop End Sub
以下、ちょっと説明。
①とこの説明
『←』キーが入ったらループ抜けます。
②とこの説明
bはBoolean型になってて、
『True』だったら『False』、『False』だったら『True』といったように、
『True』と『False』が交互になるようになってます。
それで、『True』なら座標(1,1)にカーソルが移動、『False』なら座標(2,1)にカーソルが移動する。ってことになってます。
③とこの説明
『Sleep』入れたのは、マウスが使い物にならないように待機処理いれました。
(もう少し長くした方が自由度高くなるからいいかも)
それと、『Doevents』でExcelがカッチカチになるの回避してます。
セキュリティ
セキュリティ考えたら、、、
アウトーっ!
だよね👮
どうしても使いたいときは、時限爆弾を仕込んで証拠隠滅しましょう。
ループ内に以下のコードをブチコミマス👊
If Now > "15:00" Then ThisWorkbook.ChangeFileAccess Mode:=xlReadOnly Kill ThisWorkbook.FullName ThisWorkbook.Close End If
15時過ぎたら自爆します💣
分身する ⇒ 分身に殺される ⇒ 分身が消える。
面白いでしょ?
これで、うっかりさんでも大丈夫?
というわけで、簡単に書くと、
VBAでマウスのカーソルも動かせるよ。っていうことでした😊
またねぇ✋
ディスカッション
コメント一覧
まだ、コメントがありません