Description

Book Synopsis

Customize and ramp-up Office 365 applications

NOTE:Please click Downloads (located in the menu on the left) to download Full Code Download.

The revised 2019 edition of Mastering VBA Microsoft Office 365 offers an accessible guide that shows how to extend the capabilities of Office 365 applications with VBA programming. Written in clear terms and understandable language, the book includes systematic tutorials and contains both intermediate and advanced content for experienced VB developers. Designed to be comprehensive, the book addresses not just one Office application, but the entire Office suite. To enhance understanding, the content is explored in real-world projects in Word, Excel, Outlook, and PowerPoint.

Since the technical programming methods in the Office applications continue to evolve, the updated 2019 edition reviews the changes to the program. Code libraries, the API, and the object model for each Office program have b

Table of Contents

Introduction xxix

Part 1 Recording Macros and Getting Started with VBA 1

Chapter 1 Recording and Running Macros in the Office Applications 3

What Is VBA and What Can You Do with It? 3

The Difference between Visual Basic and Visual Basic for Applications 4

What Are Visual Basic NET and Visual Basic Express? 5

Understanding Macro Basics 5

Recording a Macro 6

Displaying the Developer Tab on the Ribbon 7

Planning the Macro 8

Starting the Macro Recorder 10

Naming a Macro 13

Running a Macro 24

Recording a Sample Word Macro 25

Recording a Sample Excel Macro 27

Create a Personal Macro Workbook If You Don’t Have One Yet 28

Record the Macro 29

Specifying How to Trigger an Existing Macro 30

Assigning a Macro to a Quick Access Toolbar Button in Word 30

Assigning a Macro to a Shortcut Key Combination 31

Deleting a Macro 31

The Bottom Line 33

Chapter 2 Getting Started with the Visual Basic Editor 35

Opening the Visual Basic Editor 35

Opening the Visual Basic Editor with a Macro Selected 36

Opening the Visual Basic Editor Directly 37

Navigating to a Macro 37

Using the Visual Basic Editor’s Main Windows 38

The Project Explorer 39

The Object Browser 42

The Code Window 43

The Properties Window 48

The Immediate Window 50

Setting Properties for a Project 51

Customizing the Visual Basic Editor 53

Choosing Editor and View Preferences 54

Choosing and Laying Out the Editor Windows 61

Customizing the Toolbar and Menu Bar 61

Customizing the Toolbox 62

The Bottom Line 66

Chapter 3 Editing Recorded Macros 69

Testing a Macro in the Visual Basic Editor 70

Stepping Through a Macro 71

Setting Breakpoints 73

Commenting Out Lines 74

Stepping Out of a Macro 75

Editing a Word Macro 75

Stepping Through the Transpose_Word_Right Macro 77

Running the Transpose_Word_Right Macro 77

Creating a Transpose_Word_Left Macro 77

Saving Your Work 79

Editing an Excel Macro 79

Unhiding the Personal Macro Workbook 79

Opening a Macro for Editing 81

Editing a Macro 82

Editing a PowerPoint Macro 84

Reducing the Size of Your Macro 88

Saving Your Work 89

The Bottom Line 90

Chapter 4 Creating Code from Scratch in the Visual Basic Editor 93

Setting Up the Visual Basic Editor to Create Macros 93

Creating a Procedure for Word 95

Creating a Macro for Excel 101

Creating a Procedure for PowerPoint 106

Creating a Procedure for Access 112

The Bottom Line 113

Part 2 Learning How to Work with VBA 115

Chapter 5 Understanding the Essentials of VBA Syntax 117

Getting Ready 117

Procedures 118

Functions 119

Subprocedures 119

Statements 119

Keywords 123

Expressions 124

Operators 124

Variables 124

Constants 126

Arguments 126

Specifying Argument Names vs Omitting Argument Names 127

When to Include the Parentheses around an Argument List 128

Objects 129

Collections 129

Properties 130

Methods 130

Events 130

The Bottom Line 132

Chapter 6 Working with Variables, Constants, and Enumerations 135

Working with Variables 136

Choosing Names for Variables 136

Declaring a Variable 138

Choosing the Scope and Lifetime of a Variable 141

Specifying the Data Type for a Variable 148

Working with Constants 155

Declaring Your Own Constants 155

Choosing the Scope or Lifetime for Constants 156

Working with Enumerations 156

The Bottom Line 157

Chapter 7 Using Array Variables 159

What Is an Array? 159

Declaring an Array 161

Storing Values in an Array 163

Multidimensional Arrays 164

Declaring a Dynamic Array 165

Redimensioning an Array 165

Returning Information from an Array 166

Erasing an Array 166

Determining Whether a Variable Is an Array 166

Finding the Bounds of an Array 167

Sorting an Array 167

Searching an Array 171

Performing a Linear Search Through an Array 172

Binary Searching an Array 177

The Bottom Line 182

Chapter 8 Finding the Objects, Methods, and Properties You Need 185

What Is an Object? 185

The Benefits of OOP 185

Understanding Creatable Objects 187

Properties 187

Methods 188

Working with Collections 190

Working with an Object in a Collection 191

Adding an Object to a Collection 192

Finding the Objects You Need 192

Using the Macro Recorder to Add Code for the Objects You Need 192

Using the Object Browser 195

Using Help to Find the Object You Need 201

Using the Auto List Members Feature 205

Using Object Variables to Represent Objects 206

Team Programming and OOP 209

The Bottom Line 211

Part 3 Making Decisions and Using Loops and Functions 213

Chapter 9 Using Built-In Functions 215

What Is a Function? 215

Using Functions 217

Passing Arguments to a Function 219

Using Functions to Convert Data 220

Using the Asc Function to Return a Character Code 221

Using the Val Function to Extract a Number from the Start of a String 221

Using the Str Function to Convert a Number into a String 223

Using the Format Function to Format an Expression 224

Using Predefined Numeric Formats 225

Creating a Numeric Format 226

Creating a Date or Time Format 227

Creating a String Format 228

Using the Chr Function and Constants to Enter Special Characters in a String 229

Using Functions to Manipulate Strings 230

Using the Left, Right, and Mid Functions to Return Part of a String 230

Using the Left Function 232

Using the Right Function 232

Using the Mid Function 233

Using InStr and InStrRev to Find a String Within Another String 235

Using LTrim, RTrim, and Trim to Remove Spaces from a String 237

Using Len to Check the Length of a String 238

Using StrConv, LCase, and UCase to Change the Case of a String 240

Using the StrComp Function to Compare Apples to Apples 241

Using VBA’s Mathematical Functions 242

Using VBA’s Date and Time Functions 244

Using the DatePart t Function to Parse Dates 244

Calculating Time Intervals Using the DateDiff f Function 245

Using the DateAdd d Function to Add or Subtract Time from a Date 246

Using File-Management Functions 246

Checking Whether a File Exists Using the Dir Function 246

Returning the Current Path 248

The Bottom Line 248

Chapter 10 Creating Your Own Functions 251

Components of a Function 252

Creating a Function 254

Starting a Function Manually 254

Starting a Function by Using the Add Procedure Dialog Box 254

Passing Arguments to a Function 256

Declaring the Data Types of Arguments 257

Specifying an Optional Argument 257

Controlling the Scope of a Function 258

Examples of Functions for All VBA-Enabled Office Applications 258

How Functions Return Information 260

Returning Text Data from a Function 260

Creating a Function for Word 263

Creating a Function for Excel 265

Creating a Function for PowerPoint 267

Creating a Function for Access 269

The Bottom Line 271

Chapter 11 Making Decisions in Your Code 273

How Do You Compare Things in VBA? 274

Testing Multiple Conditions by Using Logical Operators 275

If Blocks 278

If Then 278

If Then Else Statements 280

If Then ElseIf Else Statements 282

Creating Loops with If and GoTo 287

Nesting If Blocks 289

Select Case Blocks 291

Syntax 291

Example 292

When Order Matters 294

The Bottom Line 294

Chapter 12 Using Loops to Repeat Actions 297

When Should You Use a Loop? 297

Understanding the Basics of Loops 298

Using For Loops for Fixed Repetitions 299

For Next Loops 299

For Each Next Loops 308

Using an Exit For Statement 308

Using Do Loops for Variable Numbers of Repetitions 309

Do While Loop Loops 310

Do Loop While Loops 314

Do Until Loop Loops 316

Do Loop Until Loops 318

Using an Exit Do Statement 319

Is the Exit Do Statement Bad Practice? 320

While Wend Loops 321

Nesting Loops 322

Avoiding Infinite Loops 325

The Bottom Line 326

Part 4 Using Message Boxes, Input Boxes, and Dialog Boxes 327

Chapter 13 Getting User Input with Message Boxes and Input Boxes 329

Opening a Macro 330

Displaying Status-Bar Messages in Word and Excel 331

Message Boxes 333

The Pros and Cons of Message Boxes 333

Message-Box Syntax 334

Displaying a Simple Message Box 335

Displaying a Multiline Message Box 336

Choosing Buttons for a Message Box 337

Choosing an Icon for a Message Box 338

Setting a Default Button for a Message Box 339

Controlling the Modality of a Message Box 340

Specifying a Title for a Message Box 341

Title Bars Can Provide Useful Information 342

Adding a Help Button to a Message Box 342

Specifying a Help File for a Message Box 343

Using Some Arguments Without Others 344

Retrieving a Value from a Message Box 344

Input Boxes 345

Input-Box Syntax 346

Retrieving Input from an Input Box 348

Forms: When Message Boxes and Input Boxes Won’t Suffice 348

The Bottom Line 349

Chapter 14 Creating Simple Custom Dialog Boxes 351

When Should You Use a Custom Dialog Box? 351

Creating a Custom Dialog Box 352

Designing a Dialog Box 354

Inserting a User Form 354

Choosing User-Form Grid Settings 355

Renaming a User Form 358

Adding Controls to the User Form 360

Grouping Controls 363

Renaming Controls 364

Moving a Control 365

Changing the Caption on a Control 367

Key Properties of the Toolbox Controls 368

Working with Groups of Controls 386

How to Group Controls 386

Ungrouping Controls 386

Sizing Grouped Controls 387

Deleting Grouped Controls 387

Working with One Control in a Group 387

Aligning Controls 388

Placing Controls 389

Adjusting the Tab Order of a Form 389

Linking a Form to a Procedure 391

Loading and Unloading a Form 392

Displaying and Hiding a Form 392

Setting a Default Command Button 393

Retrieving the User’s Choices from a Dialog Box 393

Returning a String from a Text Box 393

Returning a Value from an Option Button 394

Returning a Value from a Check Box 395

Returning a Value from a List Box 395

Returning a Value from a Combo Box 396

Examples Showing How to Connect Forms to Procedures 397

Word Example: The Move-Paragraph Procedure 397

General Example: Opening a File from a List Box 409

Building the User Form 409

Creating the Code for the User Form 411

Using an Application’s Built-In Dialog Boxes 415

Displaying a Built-In Dialog Box 415

Setting and Restoring Options in a Built-In Dialog Box 419

Which Button Did the User Choose in a Dialog Box? 419

Specifying a Time-Out for a Dialog Box 420

The Bottom Line 421

Chapter 15 Creating Complex Forms 423

Creating and Working with Complex Dialog Boxes 424

Updating a Dialog Box to Reflect the User’s Choices 424

Revealing a Hidden Part of a Form 424

Tracking a Procedure in a Form 429

Using Multipage Dialog Boxes and TabStrip Controls 432

Creating a Modeless Dialog Box 443

Specifying a Form’s Location Onscreen 444

Using Events to Control Forms 445

Events Unique to the UserForm Object 448

Events That Apply to Both UserForms and Container Controls 453

Events That Apply to Many or Most Controls 458

Events That Apply Only to a Few Controls 471

The Bottom Line 472

Part 5 Creating Effective Code 473

Chapter 16 Building Modular Code and Using Classes 475

Creating Modular Code 475

What Is Modular Code? 476

Advantages of Using Modular Code 476

The Bottom Line 503

Chapter 17 Debugging Your Code and Handling Errors 505

Principles of Debugging 505

The Different Types of Errors 507

Language Errors 507

Compile Errors 507

The Bottom Line 551

Chapter 18 Building Well-Behaved Code 537

What Is a Well-Behaved Macro? 537

Retaining or Restoring the User Environment 539

Chapter 19 Exploring VBA’s Security Features 553

Understanding How VBA Implements Security 553

Signing Your Macro Projects with Digital Signatures 557

What Is a Digital Certificate? 557

The Bottom Line 574

Part 6 Programming the Office Applications 575

Chapter 20 Understanding the Word Object Model and Key Objects 577

Examining the Word Object Model 577

Working with the Documents Collection and the Document Object 581

Creating a Document 581

The Bottom Line 609

Chapter 21 Working with Widely Used Objects in Word 611

Using Find and Replace via VBA 611

Understanding the Syntax of the Execute Method 613

Putting Find and Replace to Work 616

Working with Headers, Footers, and Page Numbers 617

The Bottom Line 642

Chapter 22 Understanding the Excel Object Model and Key Objects 645

Getting an Overview of the Excel Object Model 645

Understanding Excel’s Creatable Objects 646

Managing Workbooks 647

Creating a Workbook 647

The Bottom Line 670

Chapter 23 Working with Widely Used Objects in Excel 671

Working with Charts 671

Creating a Chart 671

Specifying the Source Data for the Chart 673

The Bottom Line 685

Chapter 24 Understanding the PowerPoint Object Model and Key Objects 687

Getting an Overview of the PowerPoint Object Model 687

Understanding PowerPoint’s Creatable Objects 688

Working with Presentations 689

The Bottom Line 707

Chapter 25 Working with Shapes and Running Slide Shows 709

Working with Shapes 709

Adding Shapes to Slides 709

Deleting a Shape 715

The Bottom Line 729

Chapter 26 Understanding the Outlook Object Model and Key Objects 731

Getting an Overview of the Outlook Object Model 731

The Outlook Object Model 732

Understanding Where Outlook Stores VBA Macros 733

Understanding Outlook’s Most Common Creatable Objects 734

The Bottom Line 752

Chapter 27 Working with Events in Outlook 755

How Event-Handler Procedures Differ from Ordinary Macros 755

Working with Application-Level Events 756

Using the Startup Event 758

The Bottom Line 773

Chapter 28 Understanding the Access Object Model and Key Objects 775

Getting Started with VBA in Access 775

Creating a Module in the VBA Editor 778

Creating a Function 778

The Bottom Line 800

Chapter 29 Accessing One Application from Another Application 801

Understanding the Tools Used to Communicate Between Applications 801

Using Automation to Transfer Information 802

Understanding Early and Late Binding 803

The Bottom Line 830

Appendix A The Bottom Line 833

Chapter 1: Recording and Running Macros in the Office Applications 833

Chapter 2: Getting Started with the Visual Basic Editor 835

Chapter 3: Editing Recorded Macros 836

Chapter 4: Creating Code from Scratch in the Visual Basic Editor 836

Chapter 5: Understanding the Essentials of VBA Syntax 839

Chapter 6: Working with Variables, Constants, and Enumerations 840

Chapter 7: Using Array Variables 842

Chapter 8: Finding the Objects, Methods, and Properties You Need 843

Chapter 9: Using Built-in Functions 844

Chapter 10: Creating Your Own Functions 846

Chapter 11: Making Decisions in Your Code 847

Chapter 12: Using Loops to Repeat Actions 849

Chapter 13: Getting User Input with Message Boxes and Input Boxes 850

Chapter 14: Creating Simple Custom Dialog Boxes 851

Chapter 15: Creating Complex Forms 855

Chapter 16: Building Modular Code and Using Classes 856

Chapter 17: Debugging Your Code and Handling Errors 858

Chapter 18: Building Well-Behaved Code 859

Chapter 19: Exploring VBA’s Security Features 860

Chapter 20: Understanding the Word Object Model and Key Objects 862

Chapter 21: Working with Widely Used Objects in Word 863

Chapter 22: Understanding the Excel Object Model and Key Objects 864

Chapter 23: Working with Widely Used Objects in Excel 865

Chapter 24: Understanding the PowerPoint Object Model and Key Objects 866

Chapter 25: Working with Shapes and Running Slide Shows 867

Chapter 26: Understanding the Outlook Object Model and Key Objects 868

Chapter 27: Working with Events in Outlook 869

Chapter 28: Understanding the Access Object Model and Key Objects 870

Chapter 29: Accessing One Application from Another Application 871

Index 873

Mastering VBA for Microsoft Office 365

    Product form

    £32.00

    Includes FREE delivery

    RRP £40.00 – you save £8.00 (20%)

    Order before 4pm today for delivery by Fri 19 Jun 2026.

    A Paperback / softback by Richard Mansfield

    1 in stock

      Trusted by thousands of customers. See 2,385+ Customer Reviews

      View other formats and editions of Mastering VBA for Microsoft Office 365 by Richard Mansfield

      Publisher: John Wiley & Sons Inc
      Publication Date: 03/09/2019
      ISBN13: 9781119579335, 978-1119579335
      ISBN10: 1119579333

      Description

      Book Synopsis

      Customize and ramp-up Office 365 applications

      NOTE:Please click Downloads (located in the menu on the left) to download Full Code Download.

      The revised 2019 edition of Mastering VBA Microsoft Office 365 offers an accessible guide that shows how to extend the capabilities of Office 365 applications with VBA programming. Written in clear terms and understandable language, the book includes systematic tutorials and contains both intermediate and advanced content for experienced VB developers. Designed to be comprehensive, the book addresses not just one Office application, but the entire Office suite. To enhance understanding, the content is explored in real-world projects in Word, Excel, Outlook, and PowerPoint.

      Since the technical programming methods in the Office applications continue to evolve, the updated 2019 edition reviews the changes to the program. Code libraries, the API, and the object model for each Office program have b

      Table of Contents

      Introduction xxix

      Part 1 Recording Macros and Getting Started with VBA 1

      Chapter 1 Recording and Running Macros in the Office Applications 3

      What Is VBA and What Can You Do with It? 3

      The Difference between Visual Basic and Visual Basic for Applications 4

      What Are Visual Basic NET and Visual Basic Express? 5

      Understanding Macro Basics 5

      Recording a Macro 6

      Displaying the Developer Tab on the Ribbon 7

      Planning the Macro 8

      Starting the Macro Recorder 10

      Naming a Macro 13

      Running a Macro 24

      Recording a Sample Word Macro 25

      Recording a Sample Excel Macro 27

      Create a Personal Macro Workbook If You Don’t Have One Yet 28

      Record the Macro 29

      Specifying How to Trigger an Existing Macro 30

      Assigning a Macro to a Quick Access Toolbar Button in Word 30

      Assigning a Macro to a Shortcut Key Combination 31

      Deleting a Macro 31

      The Bottom Line 33

      Chapter 2 Getting Started with the Visual Basic Editor 35

      Opening the Visual Basic Editor 35

      Opening the Visual Basic Editor with a Macro Selected 36

      Opening the Visual Basic Editor Directly 37

      Navigating to a Macro 37

      Using the Visual Basic Editor’s Main Windows 38

      The Project Explorer 39

      The Object Browser 42

      The Code Window 43

      The Properties Window 48

      The Immediate Window 50

      Setting Properties for a Project 51

      Customizing the Visual Basic Editor 53

      Choosing Editor and View Preferences 54

      Choosing and Laying Out the Editor Windows 61

      Customizing the Toolbar and Menu Bar 61

      Customizing the Toolbox 62

      The Bottom Line 66

      Chapter 3 Editing Recorded Macros 69

      Testing a Macro in the Visual Basic Editor 70

      Stepping Through a Macro 71

      Setting Breakpoints 73

      Commenting Out Lines 74

      Stepping Out of a Macro 75

      Editing a Word Macro 75

      Stepping Through the Transpose_Word_Right Macro 77

      Running the Transpose_Word_Right Macro 77

      Creating a Transpose_Word_Left Macro 77

      Saving Your Work 79

      Editing an Excel Macro 79

      Unhiding the Personal Macro Workbook 79

      Opening a Macro for Editing 81

      Editing a Macro 82

      Editing a PowerPoint Macro 84

      Reducing the Size of Your Macro 88

      Saving Your Work 89

      The Bottom Line 90

      Chapter 4 Creating Code from Scratch in the Visual Basic Editor 93

      Setting Up the Visual Basic Editor to Create Macros 93

      Creating a Procedure for Word 95

      Creating a Macro for Excel 101

      Creating a Procedure for PowerPoint 106

      Creating a Procedure for Access 112

      The Bottom Line 113

      Part 2 Learning How to Work with VBA 115

      Chapter 5 Understanding the Essentials of VBA Syntax 117

      Getting Ready 117

      Procedures 118

      Functions 119

      Subprocedures 119

      Statements 119

      Keywords 123

      Expressions 124

      Operators 124

      Variables 124

      Constants 126

      Arguments 126

      Specifying Argument Names vs Omitting Argument Names 127

      When to Include the Parentheses around an Argument List 128

      Objects 129

      Collections 129

      Properties 130

      Methods 130

      Events 130

      The Bottom Line 132

      Chapter 6 Working with Variables, Constants, and Enumerations 135

      Working with Variables 136

      Choosing Names for Variables 136

      Declaring a Variable 138

      Choosing the Scope and Lifetime of a Variable 141

      Specifying the Data Type for a Variable 148

      Working with Constants 155

      Declaring Your Own Constants 155

      Choosing the Scope or Lifetime for Constants 156

      Working with Enumerations 156

      The Bottom Line 157

      Chapter 7 Using Array Variables 159

      What Is an Array? 159

      Declaring an Array 161

      Storing Values in an Array 163

      Multidimensional Arrays 164

      Declaring a Dynamic Array 165

      Redimensioning an Array 165

      Returning Information from an Array 166

      Erasing an Array 166

      Determining Whether a Variable Is an Array 166

      Finding the Bounds of an Array 167

      Sorting an Array 167

      Searching an Array 171

      Performing a Linear Search Through an Array 172

      Binary Searching an Array 177

      The Bottom Line 182

      Chapter 8 Finding the Objects, Methods, and Properties You Need 185

      What Is an Object? 185

      The Benefits of OOP 185

      Understanding Creatable Objects 187

      Properties 187

      Methods 188

      Working with Collections 190

      Working with an Object in a Collection 191

      Adding an Object to a Collection 192

      Finding the Objects You Need 192

      Using the Macro Recorder to Add Code for the Objects You Need 192

      Using the Object Browser 195

      Using Help to Find the Object You Need 201

      Using the Auto List Members Feature 205

      Using Object Variables to Represent Objects 206

      Team Programming and OOP 209

      The Bottom Line 211

      Part 3 Making Decisions and Using Loops and Functions 213

      Chapter 9 Using Built-In Functions 215

      What Is a Function? 215

      Using Functions 217

      Passing Arguments to a Function 219

      Using Functions to Convert Data 220

      Using the Asc Function to Return a Character Code 221

      Using the Val Function to Extract a Number from the Start of a String 221

      Using the Str Function to Convert a Number into a String 223

      Using the Format Function to Format an Expression 224

      Using Predefined Numeric Formats 225

      Creating a Numeric Format 226

      Creating a Date or Time Format 227

      Creating a String Format 228

      Using the Chr Function and Constants to Enter Special Characters in a String 229

      Using Functions to Manipulate Strings 230

      Using the Left, Right, and Mid Functions to Return Part of a String 230

      Using the Left Function 232

      Using the Right Function 232

      Using the Mid Function 233

      Using InStr and InStrRev to Find a String Within Another String 235

      Using LTrim, RTrim, and Trim to Remove Spaces from a String 237

      Using Len to Check the Length of a String 238

      Using StrConv, LCase, and UCase to Change the Case of a String 240

      Using the StrComp Function to Compare Apples to Apples 241

      Using VBA’s Mathematical Functions 242

      Using VBA’s Date and Time Functions 244

      Using the DatePart t Function to Parse Dates 244

      Calculating Time Intervals Using the DateDiff f Function 245

      Using the DateAdd d Function to Add or Subtract Time from a Date 246

      Using File-Management Functions 246

      Checking Whether a File Exists Using the Dir Function 246

      Returning the Current Path 248

      The Bottom Line 248

      Chapter 10 Creating Your Own Functions 251

      Components of a Function 252

      Creating a Function 254

      Starting a Function Manually 254

      Starting a Function by Using the Add Procedure Dialog Box 254

      Passing Arguments to a Function 256

      Declaring the Data Types of Arguments 257

      Specifying an Optional Argument 257

      Controlling the Scope of a Function 258

      Examples of Functions for All VBA-Enabled Office Applications 258

      How Functions Return Information 260

      Returning Text Data from a Function 260

      Creating a Function for Word 263

      Creating a Function for Excel 265

      Creating a Function for PowerPoint 267

      Creating a Function for Access 269

      The Bottom Line 271

      Chapter 11 Making Decisions in Your Code 273

      How Do You Compare Things in VBA? 274

      Testing Multiple Conditions by Using Logical Operators 275

      If Blocks 278

      If Then 278

      If Then Else Statements 280

      If Then ElseIf Else Statements 282

      Creating Loops with If and GoTo 287

      Nesting If Blocks 289

      Select Case Blocks 291

      Syntax 291

      Example 292

      When Order Matters 294

      The Bottom Line 294

      Chapter 12 Using Loops to Repeat Actions 297

      When Should You Use a Loop? 297

      Understanding the Basics of Loops 298

      Using For Loops for Fixed Repetitions 299

      For Next Loops 299

      For Each Next Loops 308

      Using an Exit For Statement 308

      Using Do Loops for Variable Numbers of Repetitions 309

      Do While Loop Loops 310

      Do Loop While Loops 314

      Do Until Loop Loops 316

      Do Loop Until Loops 318

      Using an Exit Do Statement 319

      Is the Exit Do Statement Bad Practice? 320

      While Wend Loops 321

      Nesting Loops 322

      Avoiding Infinite Loops 325

      The Bottom Line 326

      Part 4 Using Message Boxes, Input Boxes, and Dialog Boxes 327

      Chapter 13 Getting User Input with Message Boxes and Input Boxes 329

      Opening a Macro 330

      Displaying Status-Bar Messages in Word and Excel 331

      Message Boxes 333

      The Pros and Cons of Message Boxes 333

      Message-Box Syntax 334

      Displaying a Simple Message Box 335

      Displaying a Multiline Message Box 336

      Choosing Buttons for a Message Box 337

      Choosing an Icon for a Message Box 338

      Setting a Default Button for a Message Box 339

      Controlling the Modality of a Message Box 340

      Specifying a Title for a Message Box 341

      Title Bars Can Provide Useful Information 342

      Adding a Help Button to a Message Box 342

      Specifying a Help File for a Message Box 343

      Using Some Arguments Without Others 344

      Retrieving a Value from a Message Box 344

      Input Boxes 345

      Input-Box Syntax 346

      Retrieving Input from an Input Box 348

      Forms: When Message Boxes and Input Boxes Won’t Suffice 348

      The Bottom Line 349

      Chapter 14 Creating Simple Custom Dialog Boxes 351

      When Should You Use a Custom Dialog Box? 351

      Creating a Custom Dialog Box 352

      Designing a Dialog Box 354

      Inserting a User Form 354

      Choosing User-Form Grid Settings 355

      Renaming a User Form 358

      Adding Controls to the User Form 360

      Grouping Controls 363

      Renaming Controls 364

      Moving a Control 365

      Changing the Caption on a Control 367

      Key Properties of the Toolbox Controls 368

      Working with Groups of Controls 386

      How to Group Controls 386

      Ungrouping Controls 386

      Sizing Grouped Controls 387

      Deleting Grouped Controls 387

      Working with One Control in a Group 387

      Aligning Controls 388

      Placing Controls 389

      Adjusting the Tab Order of a Form 389

      Linking a Form to a Procedure 391

      Loading and Unloading a Form 392

      Displaying and Hiding a Form 392

      Setting a Default Command Button 393

      Retrieving the User’s Choices from a Dialog Box 393

      Returning a String from a Text Box 393

      Returning a Value from an Option Button 394

      Returning a Value from a Check Box 395

      Returning a Value from a List Box 395

      Returning a Value from a Combo Box 396

      Examples Showing How to Connect Forms to Procedures 397

      Word Example: The Move-Paragraph Procedure 397

      General Example: Opening a File from a List Box 409

      Building the User Form 409

      Creating the Code for the User Form 411

      Using an Application’s Built-In Dialog Boxes 415

      Displaying a Built-In Dialog Box 415

      Setting and Restoring Options in a Built-In Dialog Box 419

      Which Button Did the User Choose in a Dialog Box? 419

      Specifying a Time-Out for a Dialog Box 420

      The Bottom Line 421

      Chapter 15 Creating Complex Forms 423

      Creating and Working with Complex Dialog Boxes 424

      Updating a Dialog Box to Reflect the User’s Choices 424

      Revealing a Hidden Part of a Form 424

      Tracking a Procedure in a Form 429

      Using Multipage Dialog Boxes and TabStrip Controls 432

      Creating a Modeless Dialog Box 443

      Specifying a Form’s Location Onscreen 444

      Using Events to Control Forms 445

      Events Unique to the UserForm Object 448

      Events That Apply to Both UserForms and Container Controls 453

      Events That Apply to Many or Most Controls 458

      Events That Apply Only to a Few Controls 471

      The Bottom Line 472

      Part 5 Creating Effective Code 473

      Chapter 16 Building Modular Code and Using Classes 475

      Creating Modular Code 475

      What Is Modular Code? 476

      Advantages of Using Modular Code 476

      The Bottom Line 503

      Chapter 17 Debugging Your Code and Handling Errors 505

      Principles of Debugging 505

      The Different Types of Errors 507

      Language Errors 507

      Compile Errors 507

      The Bottom Line 551

      Chapter 18 Building Well-Behaved Code 537

      What Is a Well-Behaved Macro? 537

      Retaining or Restoring the User Environment 539

      Chapter 19 Exploring VBA’s Security Features 553

      Understanding How VBA Implements Security 553

      Signing Your Macro Projects with Digital Signatures 557

      What Is a Digital Certificate? 557

      The Bottom Line 574

      Part 6 Programming the Office Applications 575

      Chapter 20 Understanding the Word Object Model and Key Objects 577

      Examining the Word Object Model 577

      Working with the Documents Collection and the Document Object 581

      Creating a Document 581

      The Bottom Line 609

      Chapter 21 Working with Widely Used Objects in Word 611

      Using Find and Replace via VBA 611

      Understanding the Syntax of the Execute Method 613

      Putting Find and Replace to Work 616

      Working with Headers, Footers, and Page Numbers 617

      The Bottom Line 642

      Chapter 22 Understanding the Excel Object Model and Key Objects 645

      Getting an Overview of the Excel Object Model 645

      Understanding Excel’s Creatable Objects 646

      Managing Workbooks 647

      Creating a Workbook 647

      The Bottom Line 670

      Chapter 23 Working with Widely Used Objects in Excel 671

      Working with Charts 671

      Creating a Chart 671

      Specifying the Source Data for the Chart 673

      The Bottom Line 685

      Chapter 24 Understanding the PowerPoint Object Model and Key Objects 687

      Getting an Overview of the PowerPoint Object Model 687

      Understanding PowerPoint’s Creatable Objects 688

      Working with Presentations 689

      The Bottom Line 707

      Chapter 25 Working with Shapes and Running Slide Shows 709

      Working with Shapes 709

      Adding Shapes to Slides 709

      Deleting a Shape 715

      The Bottom Line 729

      Chapter 26 Understanding the Outlook Object Model and Key Objects 731

      Getting an Overview of the Outlook Object Model 731

      The Outlook Object Model 732

      Understanding Where Outlook Stores VBA Macros 733

      Understanding Outlook’s Most Common Creatable Objects 734

      The Bottom Line 752

      Chapter 27 Working with Events in Outlook 755

      How Event-Handler Procedures Differ from Ordinary Macros 755

      Working with Application-Level Events 756

      Using the Startup Event 758

      The Bottom Line 773

      Chapter 28 Understanding the Access Object Model and Key Objects 775

      Getting Started with VBA in Access 775

      Creating a Module in the VBA Editor 778

      Creating a Function 778

      The Bottom Line 800

      Chapter 29 Accessing One Application from Another Application 801

      Understanding the Tools Used to Communicate Between Applications 801

      Using Automation to Transfer Information 802

      Understanding Early and Late Binding 803

      The Bottom Line 830

      Appendix A The Bottom Line 833

      Chapter 1: Recording and Running Macros in the Office Applications 833

      Chapter 2: Getting Started with the Visual Basic Editor 835

      Chapter 3: Editing Recorded Macros 836

      Chapter 4: Creating Code from Scratch in the Visual Basic Editor 836

      Chapter 5: Understanding the Essentials of VBA Syntax 839

      Chapter 6: Working with Variables, Constants, and Enumerations 840

      Chapter 7: Using Array Variables 842

      Chapter 8: Finding the Objects, Methods, and Properties You Need 843

      Chapter 9: Using Built-in Functions 844

      Chapter 10: Creating Your Own Functions 846

      Chapter 11: Making Decisions in Your Code 847

      Chapter 12: Using Loops to Repeat Actions 849

      Chapter 13: Getting User Input with Message Boxes and Input Boxes 850

      Chapter 14: Creating Simple Custom Dialog Boxes 851

      Chapter 15: Creating Complex Forms 855

      Chapter 16: Building Modular Code and Using Classes 856

      Chapter 17: Debugging Your Code and Handling Errors 858

      Chapter 18: Building Well-Behaved Code 859

      Chapter 19: Exploring VBA’s Security Features 860

      Chapter 20: Understanding the Word Object Model and Key Objects 862

      Chapter 21: Working with Widely Used Objects in Word 863

      Chapter 22: Understanding the Excel Object Model and Key Objects 864

      Chapter 23: Working with Widely Used Objects in Excel 865

      Chapter 24: Understanding the PowerPoint Object Model and Key Objects 866

      Chapter 25: Working with Shapes and Running Slide Shows 867

      Chapter 26: Understanding the Outlook Object Model and Key Objects 868

      Chapter 27: Working with Events in Outlook 869

      Chapter 28: Understanding the Access Object Model and Key Objects 870

      Chapter 29: Accessing One Application from Another Application 871

      Index 873

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account