Excel 2016VBAでOnTimeイベントとキープレスイベントを使用する方法

Excel 2016VBAでOnTimeイベントとキープレスイベントを使用する方法

Excel 2016のVBAプログラミングで使用できる、オブジェクトに関連付けられていないイベントには、時間とキー押下の2種類があります。時間とキー押下はワークブックやワークシートなどの特定のオブジェクトに関連付けられていないため、これらのイベントは通常のVBAモジュールでプログラムします。

OnTimeイベント

OnTimeイベントは、特定の時刻が発生したときに発生します。次の例は、午後3時のイベントが発生したときにExcelにプロシージャを実行させる方法を示しています。この場合、ロボットの音声が、メッセージボックスを伴って目を覚ますように指示します。

サブSetAlarm()
  Application.OnTime 0.625、「DisplayAlarm」
エンドサブ
サブDisplayAlarm()
  Application.Speech.Speak(「ねえ、起きて」)
  MsgBox「午後の休憩の時間です!」
エンドサブ

この例では、ApplicationオブジェクトのOnTimeメソッドが使用されています。このメソッドは、時間(0.625または3:00 pm)と時間イベントが発生したときに実行するSubプロシージャの名前(DisplayAlarm)の2つの引数を取ります。

この手順は、会議や予定を忘れてしまうほど仕事に夢中になりがちな場合に非常に役立ちます。OnTimeイベントを設定するだけで、思い出すことができます。

ほとんどの人は、Excelの番号付けシステムの観点から時間を考えるのは難しいと感じています。したがって、VBATimeValue関数を使用して時間を表すことができます。TimeValueは、時間のように見える文字列をExcelが処理できる値に変換します。次のステートメントは、午後3時のイベントをプログラムする簡単な方法を示しています。

Application.OnTime TimeValue(“ 3:00 pm”)、“ DisplayAlarm”

現在の時刻(たとえば、今から20分後)を基準にしてイベントをスケジュールする場合は、次のようなステートメントを使用できます。

Application.OnTime Now + TimeValue(“ 00:20:00”)、“ DisplayAlarm”

OnTimeメソッドを使用して、特定の日にVBAプロシージャを実行することもできます。コンピューターが実行を継続し、手順が記載されたブックが開いたままになっていることを確認する必要があります。次のステートメントは、2016年12月31日の午後5時にDisplayAlarmプロシージャを実行します。

Application.OnTime DateValue(“ 2016年12月31日午後5時”)、“ DisplayAlarm”

この特定のコード行は、家に帰って大晦日のお祭りの準備をする必要があることを警告するのに役立ちます。

OnTimeイベントを使用する別の例を次に示します。UpdateClockプロシージャを実行すると、セルA1に時間が書き込まれ、5秒後に別のイベントもプログラムされます。このイベントは、UpdateClockプロシージャを再実行します。正味の効果は、セルA1が5秒ごとに現在の時刻で更新されることです。イベントを停止するには、StopClockプロシージャ(イベントをキャンセルします)を実行します。NextTickは、次のイベントの時間を格納するモジュールレベルの変数であることに注意してください。

日付として薄暗いNextTick
サブUpdateClock()
'セルA1を現在の時刻で更新します
  ThisWorkbook.Sheets(1).Range(“ A1”)=時間
'今から5秒後に次のイベントを設定します
  NextTick = Now + TimeValue(“ 00:00:05”)
  Application.OnTime NextTick、「UpdateClock」
エンドサブ
サブStopClock()
'OnTimeイベントをキャンセルします(時計を停止します)
  エラー時に次を再開
  Application.OnTime NextTick、「UpdateClock」、、 False
エンドサブ

OnTimeイベントは、ブックが閉じられた後も持続します。つまり、StopClockプロシージャを実行せずにブックを閉じると、ブックは5秒後に再び開きます(Excelがまだ実行されていると仮定)。これを防ぐには、次のステートメントを含むWorkbook_BeforeCloseイベントプロシージャを使用します。

StopClockを呼び出す

OnTimeメソッドには2つの追加の引数があります。この方法を使用する場合は、詳細についてヘルプシステムを参照してください。

かなり複雑なアプリケーションを見たい場合は、このアナログ時計アプリケーションをチェックしてください。文字盤は実際にはチャートであり、チャートは時刻を表示するために毎秒更新されます。役に立たないが、楽しい。

Excel 2016VBAでOnTimeイベントとキープレスイベントを使用する方法

アナログ時計アプリケーション。

キープレスイベント

作業中、Excelは入力内容を常に監視します。このため、キーストロークまたはキーの組み合わせがプロシージャを実行するように設定できます。

PgDnキーとPgUpキーを再割り当てする例を次に示します。

サブSetup_OnKey()
  Application.OnKey“ {PgDn}”、“ PgDn_Sub”
  Application.OnKey“ {PgUp}”、“ PgUp_Sub”
エンドサブ
サブPgDn_Sub()
  エラー時に次を再開
  ActiveCell.Offset(1、0).Activate
エンドサブ
Sub PgUp_Sub()
  エラー時に次を再開
  ActiveCell.Offset(-1、0).Activate
エンドサブ

Setup_OnKeyプロシージャを実行してOnKeyイベントを設定した後、PgDnを押すと1行下に移動します。PgUpを押すと、1行上に移動します。

キーコードは括弧ではなく中括弧で囲まれていることに注意してください。キーボードコードの完全なリストについては、ヘルプシステムを参照してください。OnKeyを検索します。

この例では、On Error Resume Nextを使用して、生成されたエラーを無視します。たとえば、アクティブセルが最初の行にある場合、1行上に移動しようとするとエラーが発生し、無視しても問題ありません。また、チャートシートがアクティブな場合、アクティブなセルはありません。

次のルーチンを実行すると、OnKeyイベントがキャンセルされます。

サブCancel_OnKey()
  Application.OnKey“ {PgDn}”
  Application.OnKey“ {PgUp}”
エンドサブ

OnKeyメソッドの2番目の引数として空の文字列を使用して、OnKeyイベントキャンセルされませ。むしろ、Excelは単にキーストロークを無視します。たとえば、次のステートメントは、Alt + F4を無視するようにExcelに指示します。パーセント記号はAltキーを表します。

  Application.OnKey“%{F4}”、““

OnKeyメソッドを使用して、マクロを実行するためのショートカットキーを割り当てることができますが、このタスクには[マクロオプション]ダイアログボックスを使用する必要があります。

コードを含むブックを閉じてExcelを開いたままにすると、OnKeyメソッドはリセットされません。結果として、ショートカットキーを押すと、Excelはマクロを含むファイルを自動的に開きます。これを防ぐには、Workbook_BeforeCloseイベントコードにコードを含めて、OnKeyイベントをリセットする必要があります。


SharePointOnlineドキュメントセットを使用してコンテンツを管理する

SharePointOnlineドキュメントセットを使用してコンテンツを管理する

Microsoft Office365製品スイートの1つであるSharePointOnlineでは、ドキュメントセットを使用すると、効率的にプロジェクトごとにドキュメントをグループ化し、管理できます。

SharePointでタグ付けする方法

SharePointでタグ付けする方法

SharePointでのタグ付けは、コンテンツの可視性と検索性を向上させるための重要な手法です。

Excelのソルバーエラーメッセージはどういう意味ですか?

Excelのソルバーエラーメッセージはどういう意味ですか?

Excelのソルバーが表示するエラーメッセージの意味を理解し、最適な解決策を見つける方法について詳しく解説します。

Excelの[ソルバーオプション]ダイアログボックスで[GRG非線形]タブを使用する方法

Excelの[ソルバーオプション]ダイアログボックスで[GRG非線形]タブを使用する方法

Excelの[GRG非線形]タブには、GRG非線形解法を使用しているときにソルバーが機能する方法を管理するためのボタンとボックスがあります。オプションを利用し、最適な解決策を得るためのステップを解説します。

SharePointをPowerBIと統合する方法

SharePointをPowerBIと統合する方法

SharePointをPower BIと統合する方法と、レポートをSharePointサイトに接続する方法をLuckyTemplates.comから学びます。

SharePointサイトを共有およびフォローする方法

SharePointサイトを共有およびフォローする方法

個人やグループがコミュニケーション、コラボレーション、共有、接続できるSharePointソーシャルネットワーキングツールの使用方法を学びます。

SharePoint列のデータ入力を検証する

SharePoint列のデータ入力を検証する

SharePoint列のデータ入力を検証する方法を学び、データの整合性を確保するための実践的なソリューションを提供します。

スマートシート 9.1.1

スマートシート 9.1.1

Smartsheet は、プロジェクトの管理、ワークフローの構築、チームとの共同作業を可能にする動的な作業プラットフォームです。

共有ポイント

共有ポイント

SharePoint は、さまざまなワークフロー アプリケーション、「リスト」データベース、その他の Web コンポーネント、およびビジネス グループの共同作業を制御するためのセキュリティ機能を使用する Web ベースのコラボレーション システムです。

パーペチュアルカレンダー 1.0.38/1.0.36

パーペチュアルカレンダー 1.0.38/1.0.36

Van Nien Calendar は、携帯電話でカレンダーを表示するアプリケーションです。携帯電話で太陰太陽の日付をすぐに確認できるため、重要な仕事を計画することができます。