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

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.

主站蜘蛛池模板: 玉门市| 六枝特区| 冕宁县| 上虞市| 安义县| 苏尼特左旗| 宝兴县| 西安市| 翁源县| 石台县| 扎鲁特旗| 工布江达县| 泸西县| 枣庄市| 开阳县| 海阳市| 东兰县| 宁武县| 广汉市| 正定县| 贺兰县| 苍南县| 米易县| 吉隆县| 屏边| 克山县| 京山县| 沅陵县| 新和县| 屏东县| 城口县| 益阳市| 夹江县| 盐源县| 延川县| 岳池县| 施甸县| 平塘县| 仙桃市| 来安县| 金寨县|