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

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.

主站蜘蛛池模板: 安龙县| 贡觉县| 郎溪县| 台山市| 逊克县| 黑水县| 清水河县| 固安县| 蒙山县| 潞城市| 新宁县| 天津市| 项城市| 宁陕县| 射阳县| 南岸区| 五寨县| 克什克腾旗| 汝南县| 洛川县| 龙泉市| 天峨县| 凤山县| 禹城市| 汶上县| 浑源县| 盐津县| 韶关市| 横峰县| 武夷山市| 肇东市| 天津市| 贵德县| 唐河县| 阜城县| 庐江县| 永新县| 揭阳市| 汪清县| 通海县| 铁岭市|