アドベントカレンダー 11日目
コンプラの関係で離席する時は、パソコンにロックをしなさいと口うるさくなる今日この頃。
一定の操作がないとするロックがかかるような設定になったりとコンプラさまさまなわけですが…
ときおり、一部の人だけコードが動かないなんてことがおきるもんだから
その人の環境で調査するため、ログインされた状態で引き渡してもらうのですが
上記理由から、すぐにロックがかかったりするわけですよね。
もちろん、システムなんていじれないようにされてるので、
そうなると、なんかのキーを送信すりゃいいじゃん!
となるのでこうなった。
ひとまず、Ctrlを送信。
これだけでも、十分なんだけど、
これだと、実行しているのか止まっているのか不明なので
もうちょっと視認性を高めるとして、オートシェイプを追加して…
ボタンでスタート/ストップできるようにしてみると。
コンプラの関係で離席する時は、パソコンにロックをしなさいと口うるさくなる今日この頃。
一定の操作がないとするロックがかかるような設定になったりとコンプラさまさまなわけですが…
ときおり、一部の人だけコードが動かないなんてことがおきるもんだから
その人の環境で調査するため、ログインされた状態で引き渡してもらうのですが
上記理由から、すぐにロックがかかったりするわけですよね。
もちろん、システムなんていじれないようにされてるので、
そうなると、なんかのキーを送信すりゃいいじゃん!
となるのでこうなった。
- Option Explicit
- Sub SampleCode()
- Dim WSH As Object
- Set WSH = CreateObject("Wscript.Shell")
- Do
- WSH.SendKeys "^"
- DoEvents
- Loop
- Set WSH = Nothing
- End Sub
ひとまず、Ctrlを送信。
これだけでも、十分なんだけど、
これだと、実行しているのか止まっているのか不明なので
もうちょっと視認性を高めるとして、オートシェイプを追加して…
ボタンでスタート/ストップできるようにしてみると。
- Option Explicit
- Private Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long)
- Dim Flag As Boolean
- Sub ToggleButton()
- Dim ToggleName As String
- ToggleName = Shapes("Button").TextFrame.Characters.Text
- If ToggleName = "スタート" Then
- Shapes("Button").TextFrame.Characters.Text = "ストップ"
- Flag = False
- Call Loooooop
- Else
- Shapes("Button").TextFrame.Characters.Text = "スタート"
- Flag = True
- End If
- End Sub
- Sub Loooooop()
- Dim WSH As Object
- '** Objectの生成 **
- Set WSH = CreateObject("Wscript.Shell")
- Flag = False
- Do
- If Flag Then Exit Do
- WSH.SendKeys "^"
- Range("B1") = Time
- DoEvents
- Sleep (100)
- Loop
- Set WSH = Nothing
- MsgBox "停止"
- End Sub
0 件のコメント:
コメントを投稿