官术网_书友最值得收藏!

Using events to activate objects

The last element in relation to objects that we need to discuss is events. In simple English, an event is what happens when an object does something, such as open a workbook, close a sheet, or print a file. Events are initiated by a user, for example, by clicking a mouse or pressing a key.

In this recipe, we're going to cover only the most basic principles, since an entire chapter is dedicated to events later in this book.

Getting ready

With Excel open, ensure that a blank workbook is available and active.

How to do it…

The first thing to remember about events is that the code is not stored in a module object, but in the workbook object. Place the code anywhere else and it will simply not work.

The steps for this recipe are as follows:

  1. Press Alt + F11 to activate the VBA Editor.
  2. In the Project window, double-click on the ThisWorkbook object to open the code window.
  3. At the top left of the code window, from the drop-down list, select the object that you're coding for; in this case, a workbook:

    Figure 3.5 – The object drop-down list in the VBA Editor

  4. The default event inserted will be Open. If you want to code for another event, select from the drop-down list at the top right of the window:

    Figure 3.6 – The Open event code

  5. Between the opening and closing statements of the Sub procedure, type the following code:

    Figure 3.7 – Completed Sub procedure

  6. Once done, don't just run the code by pressing F5. You need to trigger the event that the Sub procedure is attached to, meaning that you have to save the file and then open it. The event will only be activated when the file is opened.
  7. Press Alt + F11 to switch back to Excel.
  8. Save the file as a macro-enabled workbook and close it.
  9. When you open it now, click on Enable Macros. The event will be initiated, and a message box will be displayed. Click on the OK button to close the message box:

Figure 3.8 – The result of the Open event code Sub procedure

Take note that the message box must be closed before you can do any work on the spreadsheet.

How it works…

Events are initiated by objects that do something. In this case, the event is linked to the opening of a specific workbook. When the workbook is opened, the event is triggered, and as per the instructions in the code, a message box is displayed.

主站蜘蛛池模板: 黑龙江省| 鹤岗市| 集安市| 晋州市| 东乡族自治县| 青河县| 咸宁市| 乌鲁木齐县| 冕宁县| 泾川县| 双城市| 田林县| 临汾市| 南康市| 剑川县| 武夷山市| 阿坝| 黑山县| 开远市| 精河县| 茌平县| 玉山县| 惠东县| 营山县| 镇赉县| 北宁市| 固安县| 集贤县| 漠河县| 徐汇区| 枝江市| 炉霍县| 广南县| 治多县| 灵丘县| 凌源市| 宜黄县| 深水埗区| 黄陵县| 鲁山县| 邢台市|