{"product_id":"mastering-vba-for-microsoft-office-365-paperback-softback-9781119579335","title":"Mastering VBA for Microsoft Office 365 (Paperback \/ softback) 9781119579335","description":"\u003cfont face=\"Georgia\"\u003e\r\n\u003cp\u003e\u003cfont size=\"6\"\u003eMastering VBA for Microsoft Office 365\u003c\/font\u003e\u003cbr\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003c\/p\u003e\n\u003cp\u003e\u003cfont size=\"4\"\u003eRichard Mansfield (Author)\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e9781119579335, Wiley\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003ePaperback \/ softback, published 3 September 2019\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e944 pages\u003cbr\u003e23.1 x 18.8 x 4.8 cm, 1.27 kg\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003cp align=\"justify\"\u003e\u003cstrong\u003e\u003cfont size=\"3\"\u003e\u003cp\u003e\u003cb\u003eCustomize and ramp-up Office 365 applications\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003ci\u003e\u003cb\u003eNOTE: Please click Downloads (located in the menu on the left) to download “Full Code Download.”\u003c\/b\u003e\u003c\/i\u003e\u003cbr\u003e\u003cbr\u003eThe revised 2019 edition of \u003ci\u003eMastering VBA Microsoft Office 365\u003c\/i\u003e 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.\u003c\/p\u003e \u003cp\u003eSince 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 been modified during the three years since the last version of this book. Various elements within VBA have been deprecated or replaced, and the surface UI changed as well. The updated 2019 edition covers topics such as:\u003c\/p\u003e \u003cp\u003e•    Recording macros and getting started with VBA\u003c\/p\u003e \u003cp\u003e•    Learning how to work with VBA\u003c\/p\u003e \u003cp\u003e•    Using loops and functions\u003c\/p\u003e \u003cp\u003e•    Using message boxes, input boxes, and dialog boxes\u003c\/p\u003e \u003cp\u003e•    Creating effective code\u003c\/p\u003e \u003cp\u003e•    XML-based files, ActiveX, the developer tab, content controls, add-ins, embedded macros, and security\u003c\/p\u003e \u003cp\u003eWritten for all levels of Microsoft Office 365 users, \u003ci\u003eMastering VBA Microsoft Office 365: 2019 Edition \u003c\/i\u003eexplains how to customize and automate the Office suite of applications. \u003c\/p\u003e\u003c\/font\u003e\u003c\/strong\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e\u003cp\u003eIntroduction xxix\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 1 Recording Macros and Getting Started with VBA 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1 Recording and Running Macros in the Office Applications 3\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat Is VBA and What Can You Do with It? 3\u003c\/p\u003e \u003cp\u003eThe Difference between Visual Basic and Visual Basic for Applications 4\u003c\/p\u003e \u003cp\u003eWhat Are Visual Basic NET and Visual Basic Express? 5\u003c\/p\u003e \u003cp\u003eUnderstanding Macro Basics 5\u003c\/p\u003e \u003cp\u003eRecording a Macro 6\u003c\/p\u003e \u003cp\u003eDisplaying the Developer Tab on the Ribbon 7\u003c\/p\u003e \u003cp\u003ePlanning the Macro 8\u003c\/p\u003e \u003cp\u003eStarting the Macro Recorder 10\u003c\/p\u003e \u003cp\u003eNaming a Macro 13\u003c\/p\u003e \u003cp\u003eRunning a Macro 24\u003c\/p\u003e \u003cp\u003eRecording a Sample Word Macro 25\u003c\/p\u003e \u003cp\u003eRecording a Sample Excel Macro 27\u003c\/p\u003e \u003cp\u003eCreate a Personal Macro Workbook If You Don’t Have One Yet 28\u003c\/p\u003e \u003cp\u003eRecord the Macro 29\u003c\/p\u003e \u003cp\u003eSpecifying How to Trigger an Existing Macro 30\u003c\/p\u003e \u003cp\u003eAssigning a Macro to a Quick Access Toolbar Button in Word 30\u003c\/p\u003e \u003cp\u003eAssigning a Macro to a Shortcut Key Combination 31\u003c\/p\u003e \u003cp\u003eDeleting a Macro 31\u003c\/p\u003e \u003cp\u003eThe Bottom Line 33\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2 Getting Started with the Visual Basic Editor 35\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eOpening the Visual Basic Editor 35\u003c\/p\u003e \u003cp\u003eOpening the Visual Basic Editor with a Macro Selected 36\u003c\/p\u003e \u003cp\u003eOpening the Visual Basic Editor Directly 37\u003c\/p\u003e \u003cp\u003eNavigating to a Macro 37\u003c\/p\u003e \u003cp\u003eUsing the Visual Basic Editor’s Main Windows 38\u003c\/p\u003e \u003cp\u003eThe Project Explorer 39\u003c\/p\u003e \u003cp\u003eThe Object Browser 42\u003c\/p\u003e \u003cp\u003eThe Code Window 43\u003c\/p\u003e \u003cp\u003eThe Properties Window 48\u003c\/p\u003e \u003cp\u003eThe Immediate Window 50\u003c\/p\u003e \u003cp\u003eSetting Properties for a Project 51\u003c\/p\u003e \u003cp\u003eCustomizing the Visual Basic Editor 53\u003c\/p\u003e \u003cp\u003eChoosing Editor and View Preferences 54\u003c\/p\u003e \u003cp\u003eChoosing and Laying Out the Editor Windows 61\u003c\/p\u003e \u003cp\u003eCustomizing the Toolbar and Menu Bar 61\u003c\/p\u003e \u003cp\u003eCustomizing the Toolbox 62\u003c\/p\u003e \u003cp\u003eThe Bottom Line 66\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3 Editing Recorded Macros 69\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eTesting a Macro in the Visual Basic Editor 70\u003c\/p\u003e \u003cp\u003eStepping Through a Macro 71\u003c\/p\u003e \u003cp\u003eSetting Breakpoints 73\u003c\/p\u003e \u003cp\u003eCommenting Out Lines 74\u003c\/p\u003e \u003cp\u003eStepping Out of a Macro 75\u003c\/p\u003e \u003cp\u003eEditing a Word Macro 75\u003c\/p\u003e \u003cp\u003eStepping Through the Transpose_Word_Right Macro 77\u003c\/p\u003e \u003cp\u003eRunning the Transpose_Word_Right Macro 77\u003c\/p\u003e \u003cp\u003eCreating a Transpose_Word_Left Macro 77\u003c\/p\u003e \u003cp\u003eSaving Your Work 79\u003c\/p\u003e \u003cp\u003eEditing an Excel Macro 79\u003c\/p\u003e \u003cp\u003eUnhiding the Personal Macro Workbook 79\u003c\/p\u003e \u003cp\u003eOpening a Macro for Editing 81\u003c\/p\u003e \u003cp\u003eEditing a Macro 82\u003c\/p\u003e \u003cp\u003eEditing a PowerPoint Macro 84\u003c\/p\u003e \u003cp\u003eReducing the Size of Your Macro 88\u003c\/p\u003e \u003cp\u003eSaving Your Work 89\u003c\/p\u003e \u003cp\u003eThe Bottom Line 90\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4 Creating Code from Scratch in the Visual Basic Editor 93\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eSetting Up the Visual Basic Editor to Create Macros 93\u003c\/p\u003e \u003cp\u003eCreating a Procedure for Word 95\u003c\/p\u003e \u003cp\u003eCreating a Macro for Excel 101\u003c\/p\u003e \u003cp\u003eCreating a Procedure for PowerPoint 106\u003c\/p\u003e \u003cp\u003eCreating a Procedure for Access 112\u003c\/p\u003e \u003cp\u003eThe Bottom Line 113\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 2 Learning How to Work with VBA 115\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5 Understanding the Essentials of VBA Syntax 117\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eGetting Ready 117\u003c\/p\u003e \u003cp\u003eProcedures 118\u003c\/p\u003e \u003cp\u003eFunctions 119\u003c\/p\u003e \u003cp\u003eSubprocedures 119\u003c\/p\u003e \u003cp\u003eStatements 119\u003c\/p\u003e \u003cp\u003eKeywords 123\u003c\/p\u003e \u003cp\u003eExpressions 124\u003c\/p\u003e \u003cp\u003eOperators 124\u003c\/p\u003e \u003cp\u003eVariables 124\u003c\/p\u003e \u003cp\u003eConstants 126\u003c\/p\u003e \u003cp\u003eArguments 126\u003c\/p\u003e \u003cp\u003eSpecifying Argument Names vs Omitting Argument Names 127\u003c\/p\u003e \u003cp\u003eWhen to Include the Parentheses around an Argument List 128\u003c\/p\u003e \u003cp\u003eObjects 129\u003c\/p\u003e \u003cp\u003eCollections 129\u003c\/p\u003e \u003cp\u003eProperties 130\u003c\/p\u003e \u003cp\u003eMethods 130\u003c\/p\u003e \u003cp\u003eEvents 130\u003c\/p\u003e \u003cp\u003eThe Bottom Line 132\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 6 Working with Variables, Constants, and Enumerations 135\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWorking with Variables 136\u003c\/p\u003e \u003cp\u003eChoosing Names for Variables 136\u003c\/p\u003e \u003cp\u003eDeclaring a Variable 138\u003c\/p\u003e \u003cp\u003eChoosing the Scope and Lifetime of a Variable 141\u003c\/p\u003e \u003cp\u003eSpecifying the Data Type for a Variable 148\u003c\/p\u003e \u003cp\u003eWorking with Constants 155\u003c\/p\u003e \u003cp\u003eDeclaring Your Own Constants 155\u003c\/p\u003e \u003cp\u003eChoosing the Scope or Lifetime for Constants 156\u003c\/p\u003e \u003cp\u003eWorking with Enumerations 156\u003c\/p\u003e \u003cp\u003eThe Bottom Line 157\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 7 Using Array Variables 159\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat Is an Array? 159\u003c\/p\u003e \u003cp\u003eDeclaring an Array 161\u003c\/p\u003e \u003cp\u003eStoring Values in an Array 163\u003c\/p\u003e \u003cp\u003eMultidimensional Arrays 164\u003c\/p\u003e \u003cp\u003eDeclaring a Dynamic Array 165\u003c\/p\u003e \u003cp\u003eRedimensioning an Array 165\u003c\/p\u003e \u003cp\u003eReturning Information from an Array 166\u003c\/p\u003e \u003cp\u003eErasing an Array 166\u003c\/p\u003e \u003cp\u003eDetermining Whether a Variable Is an Array 166\u003c\/p\u003e \u003cp\u003eFinding the Bounds of an Array 167\u003c\/p\u003e \u003cp\u003eSorting an Array 167\u003c\/p\u003e \u003cp\u003eSearching an Array 171\u003c\/p\u003e \u003cp\u003ePerforming a Linear Search Through an Array 172\u003c\/p\u003e \u003cp\u003eBinary Searching an Array 177\u003c\/p\u003e \u003cp\u003eThe Bottom Line 182\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 8 Finding the Objects, Methods, and Properties You Need 185\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat Is an Object? 185\u003c\/p\u003e \u003cp\u003eThe Benefits of OOP 185\u003c\/p\u003e \u003cp\u003eUnderstanding Creatable Objects 187\u003c\/p\u003e \u003cp\u003eProperties 187\u003c\/p\u003e \u003cp\u003eMethods 188\u003c\/p\u003e \u003cp\u003eWorking with Collections 190\u003c\/p\u003e \u003cp\u003eWorking with an Object in a Collection 191\u003c\/p\u003e \u003cp\u003eAdding an Object to a Collection 192\u003c\/p\u003e \u003cp\u003eFinding the Objects You Need 192\u003c\/p\u003e \u003cp\u003eUsing the Macro Recorder to Add Code for the Objects You Need 192\u003c\/p\u003e \u003cp\u003eUsing the Object Browser 195\u003c\/p\u003e \u003cp\u003eUsing Help to Find the Object You Need 201\u003c\/p\u003e \u003cp\u003eUsing the Auto List Members Feature 205\u003c\/p\u003e \u003cp\u003eUsing Object Variables to Represent Objects 206\u003c\/p\u003e \u003cp\u003eTeam Programming and OOP 209\u003c\/p\u003e \u003cp\u003eThe Bottom Line 211\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 3 Making Decisions and Using Loops and Functions 213\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 9 Using Built-In Functions 215\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat Is a Function? 215\u003c\/p\u003e \u003cp\u003eUsing Functions 217\u003c\/p\u003e \u003cp\u003ePassing Arguments to a Function 219\u003c\/p\u003e \u003cp\u003eUsing Functions to Convert Data 220\u003c\/p\u003e \u003cp\u003eUsing the Asc Function to Return a Character Code 221\u003c\/p\u003e \u003cp\u003eUsing the Val Function to Extract a Number from the Start of a String 221\u003c\/p\u003e \u003cp\u003eUsing the Str Function to Convert a Number into a String 223\u003c\/p\u003e \u003cp\u003eUsing the Format Function to Format an Expression 224\u003c\/p\u003e \u003cp\u003eUsing Predefined Numeric Formats 225\u003c\/p\u003e \u003cp\u003eCreating a Numeric Format 226\u003c\/p\u003e \u003cp\u003eCreating a Date or Time Format 227\u003c\/p\u003e \u003cp\u003eCreating a String Format 228\u003c\/p\u003e \u003cp\u003eUsing the Chr Function and Constants to Enter Special Characters in a String 229\u003c\/p\u003e \u003cp\u003eUsing Functions to Manipulate Strings 230\u003c\/p\u003e \u003cp\u003eUsing the Left, Right, and Mid Functions to Return Part of a String 230\u003c\/p\u003e \u003cp\u003eUsing the Left Function 232\u003c\/p\u003e \u003cp\u003eUsing the Right Function 232\u003c\/p\u003e \u003cp\u003eUsing the Mid Function 233\u003c\/p\u003e \u003cp\u003eUsing InStr and InStrRev to Find a String Within Another String 235\u003c\/p\u003e \u003cp\u003eUsing LTrim, RTrim, and Trim to Remove Spaces from a String 237\u003c\/p\u003e \u003cp\u003eUsing Len to Check the Length of a String 238\u003c\/p\u003e \u003cp\u003eUsing StrConv, LCase, and UCase to Change the Case of a String 240\u003c\/p\u003e \u003cp\u003eUsing the StrComp Function to Compare Apples to Apples 241\u003c\/p\u003e \u003cp\u003eUsing VBA’s Mathematical Functions 242\u003c\/p\u003e \u003cp\u003eUsing VBA’s Date and Time Functions 244\u003c\/p\u003e \u003cp\u003eUsing the DatePart t Function to Parse Dates 244\u003c\/p\u003e \u003cp\u003eCalculating Time Intervals Using the DateDiff f Function 245\u003c\/p\u003e \u003cp\u003eUsing the DateAdd d Function to Add or Subtract Time from a Date 246\u003c\/p\u003e \u003cp\u003eUsing File-Management Functions 246\u003c\/p\u003e \u003cp\u003eChecking Whether a File Exists Using the Dir Function 246\u003c\/p\u003e \u003cp\u003eReturning the Current Path 248\u003c\/p\u003e \u003cp\u003eThe Bottom Line 248\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 10 Creating Your Own Functions 251\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eComponents of a Function 252\u003c\/p\u003e \u003cp\u003eCreating a Function 254\u003c\/p\u003e \u003cp\u003eStarting a Function Manually 254\u003c\/p\u003e \u003cp\u003eStarting a Function by Using the Add Procedure Dialog Box 254\u003c\/p\u003e \u003cp\u003ePassing Arguments to a Function 256\u003c\/p\u003e \u003cp\u003eDeclaring the Data Types of Arguments 257\u003c\/p\u003e \u003cp\u003eSpecifying an Optional Argument 257\u003c\/p\u003e \u003cp\u003eControlling the Scope of a Function 258\u003c\/p\u003e \u003cp\u003eExamples of Functions for All VBA-Enabled Office Applications 258\u003c\/p\u003e \u003cp\u003eHow Functions Return Information 260\u003c\/p\u003e \u003cp\u003eReturning Text Data from a Function 260\u003c\/p\u003e \u003cp\u003eCreating a Function for Word 263\u003c\/p\u003e \u003cp\u003eCreating a Function for Excel 265\u003c\/p\u003e \u003cp\u003eCreating a Function for PowerPoint 267\u003c\/p\u003e \u003cp\u003eCreating a Function for Access 269\u003c\/p\u003e \u003cp\u003eThe Bottom Line 271\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 11 Making Decisions in Your Code 273\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eHow Do You Compare Things in VBA? 274\u003c\/p\u003e \u003cp\u003eTesting Multiple Conditions by Using Logical Operators 275\u003c\/p\u003e \u003cp\u003eIf Blocks 278\u003c\/p\u003e \u003cp\u003eIf Then 278\u003c\/p\u003e \u003cp\u003eIf Then Else Statements 280\u003c\/p\u003e \u003cp\u003eIf Then ElseIf Else Statements 282\u003c\/p\u003e \u003cp\u003eCreating Loops with If and GoTo 287\u003c\/p\u003e \u003cp\u003eNesting If Blocks 289\u003c\/p\u003e \u003cp\u003eSelect Case Blocks 291\u003c\/p\u003e \u003cp\u003eSyntax 291\u003c\/p\u003e \u003cp\u003eExample 292\u003c\/p\u003e \u003cp\u003eWhen Order Matters 294\u003c\/p\u003e \u003cp\u003eThe Bottom Line 294\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 12 Using Loops to Repeat Actions 297\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhen Should You Use a Loop? 297\u003c\/p\u003e \u003cp\u003eUnderstanding the Basics of Loops 298\u003c\/p\u003e \u003cp\u003eUsing For Loops for Fixed Repetitions 299\u003c\/p\u003e \u003cp\u003eFor Next Loops 299\u003c\/p\u003e \u003cp\u003eFor Each Next Loops 308\u003c\/p\u003e \u003cp\u003eUsing an Exit For Statement 308\u003c\/p\u003e \u003cp\u003eUsing Do Loops for Variable Numbers of Repetitions 309\u003c\/p\u003e \u003cp\u003eDo While Loop Loops 310\u003c\/p\u003e \u003cp\u003eDo Loop While Loops 314\u003c\/p\u003e \u003cp\u003eDo Until Loop Loops 316\u003c\/p\u003e \u003cp\u003eDo Loop Until Loops 318\u003c\/p\u003e \u003cp\u003eUsing an Exit Do Statement 319\u003c\/p\u003e \u003cp\u003eIs the Exit Do Statement Bad Practice? 320\u003c\/p\u003e \u003cp\u003eWhile Wend Loops 321\u003c\/p\u003e \u003cp\u003eNesting Loops 322\u003c\/p\u003e \u003cp\u003eAvoiding Infinite Loops 325\u003c\/p\u003e \u003cp\u003eThe Bottom Line 326\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 4 Using Message Boxes, Input Boxes, and Dialog Boxes 327\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 13 Getting User Input with Message Boxes and Input Boxes 329\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eOpening a Macro 330\u003c\/p\u003e \u003cp\u003eDisplaying Status-Bar Messages in Word and Excel 331\u003c\/p\u003e \u003cp\u003eMessage Boxes 333\u003c\/p\u003e \u003cp\u003eThe Pros and Cons of Message Boxes 333\u003c\/p\u003e \u003cp\u003eMessage-Box Syntax 334\u003c\/p\u003e \u003cp\u003eDisplaying a Simple Message Box 335\u003c\/p\u003e \u003cp\u003eDisplaying a Multiline Message Box 336\u003c\/p\u003e \u003cp\u003eChoosing Buttons for a Message Box 337\u003c\/p\u003e \u003cp\u003eChoosing an Icon for a Message Box 338\u003c\/p\u003e \u003cp\u003eSetting a Default Button for a Message Box 339\u003c\/p\u003e \u003cp\u003eControlling the Modality of a Message Box 340\u003c\/p\u003e \u003cp\u003eSpecifying a Title for a Message Box 341\u003c\/p\u003e \u003cp\u003eTitle Bars Can Provide Useful Information 342\u003c\/p\u003e \u003cp\u003eAdding a Help Button to a Message Box 342\u003c\/p\u003e \u003cp\u003eSpecifying a Help File for a Message Box 343\u003c\/p\u003e \u003cp\u003eUsing Some Arguments Without Others 344\u003c\/p\u003e \u003cp\u003eRetrieving a Value from a Message Box 344\u003c\/p\u003e \u003cp\u003eInput Boxes 345\u003c\/p\u003e \u003cp\u003eInput-Box Syntax 346\u003c\/p\u003e \u003cp\u003eRetrieving Input from an Input Box 348\u003c\/p\u003e \u003cp\u003eForms: When Message Boxes and Input Boxes Won’t Suffice 348\u003c\/p\u003e \u003cp\u003eThe Bottom Line 349\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 14 Creating Simple Custom Dialog Boxes 351\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhen Should You Use a Custom Dialog Box? 351\u003c\/p\u003e \u003cp\u003eCreating a Custom Dialog Box 352\u003c\/p\u003e \u003cp\u003eDesigning a Dialog Box 354\u003c\/p\u003e \u003cp\u003eInserting a User Form 354\u003c\/p\u003e \u003cp\u003eChoosing User-Form Grid Settings 355\u003c\/p\u003e \u003cp\u003eRenaming a User Form 358\u003c\/p\u003e \u003cp\u003eAdding Controls to the User Form 360\u003c\/p\u003e \u003cp\u003eGrouping Controls 363\u003c\/p\u003e \u003cp\u003eRenaming Controls 364\u003c\/p\u003e \u003cp\u003eMoving a Control 365\u003c\/p\u003e \u003cp\u003eChanging the Caption on a Control 367\u003c\/p\u003e \u003cp\u003eKey Properties of the Toolbox Controls 368\u003c\/p\u003e \u003cp\u003eWorking with Groups of Controls 386\u003c\/p\u003e \u003cp\u003eHow to Group Controls 386\u003c\/p\u003e \u003cp\u003eUngrouping Controls 386\u003c\/p\u003e \u003cp\u003eSizing Grouped Controls 387\u003c\/p\u003e \u003cp\u003eDeleting Grouped Controls 387\u003c\/p\u003e \u003cp\u003eWorking with One Control in a Group 387\u003c\/p\u003e \u003cp\u003eAligning Controls 388\u003c\/p\u003e \u003cp\u003ePlacing Controls 389\u003c\/p\u003e \u003cp\u003eAdjusting the Tab Order of a Form 389\u003c\/p\u003e \u003cp\u003eLinking a Form to a Procedure 391\u003c\/p\u003e \u003cp\u003eLoading and Unloading a Form 392\u003c\/p\u003e \u003cp\u003eDisplaying and Hiding a Form 392\u003c\/p\u003e \u003cp\u003eSetting a Default Command Button 393\u003c\/p\u003e \u003cp\u003eRetrieving the User’s Choices from a Dialog Box 393\u003c\/p\u003e \u003cp\u003eReturning a String from a Text Box 393\u003c\/p\u003e \u003cp\u003eReturning a Value from an Option Button 394\u003c\/p\u003e \u003cp\u003eReturning a Value from a Check Box 395\u003c\/p\u003e \u003cp\u003eReturning a Value from a List Box 395\u003c\/p\u003e \u003cp\u003eReturning a Value from a Combo Box 396\u003c\/p\u003e \u003cp\u003eExamples Showing How to Connect Forms to Procedures 397\u003c\/p\u003e \u003cp\u003eWord Example: The Move-Paragraph Procedure 397\u003c\/p\u003e \u003cp\u003eGeneral Example: Opening a File from a List Box 409\u003c\/p\u003e \u003cp\u003eBuilding the User Form 409\u003c\/p\u003e \u003cp\u003eCreating the Code for the User Form 411\u003c\/p\u003e \u003cp\u003eUsing an Application’s Built-In Dialog Boxes 415\u003c\/p\u003e \u003cp\u003eDisplaying a Built-In Dialog Box 415\u003c\/p\u003e \u003cp\u003eSetting and Restoring Options in a Built-In Dialog Box 419\u003c\/p\u003e \u003cp\u003eWhich Button Did the User Choose in a Dialog Box? 419\u003c\/p\u003e \u003cp\u003eSpecifying a Time-Out for a Dialog Box 420\u003c\/p\u003e \u003cp\u003eThe Bottom Line 421\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 15 Creating Complex Forms 423\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCreating and Working with Complex Dialog Boxes 424\u003c\/p\u003e \u003cp\u003eUpdating a Dialog Box to Reflect the User’s Choices 424\u003c\/p\u003e \u003cp\u003eRevealing a Hidden Part of a Form 424\u003c\/p\u003e \u003cp\u003eTracking a Procedure in a Form 429\u003c\/p\u003e \u003cp\u003eUsing Multipage Dialog Boxes and TabStrip Controls 432\u003c\/p\u003e \u003cp\u003eCreating a Modeless Dialog Box 443\u003c\/p\u003e \u003cp\u003eSpecifying a Form’s Location Onscreen 444\u003c\/p\u003e \u003cp\u003eUsing Events to Control Forms 445\u003c\/p\u003e \u003cp\u003eEvents Unique to the UserForm Object 448\u003c\/p\u003e \u003cp\u003eEvents That Apply to Both UserForms and Container Controls 453\u003c\/p\u003e \u003cp\u003eEvents That Apply to Many or Most Controls 458\u003c\/p\u003e \u003cp\u003eEvents That Apply Only to a Few Controls 471\u003c\/p\u003e \u003cp\u003eThe Bottom Line 472\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 5 Creating Effective Code 473\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 16 Building Modular Code and Using Classes 475\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCreating Modular Code 475\u003c\/p\u003e \u003cp\u003eWhat Is Modular Code? 476\u003c\/p\u003e \u003cp\u003eAdvantages of Using Modular Code 476\u003c\/p\u003e \u003cp\u003eThe Bottom Line 503\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 17 Debugging Your Code and Handling Errors 505\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003ePrinciples of Debugging 505\u003c\/p\u003e \u003cp\u003eThe Different Types of Errors 507\u003c\/p\u003e \u003cp\u003eLanguage Errors 507\u003c\/p\u003e \u003cp\u003eCompile Errors 507\u003c\/p\u003e \u003cp\u003eThe Bottom Line 551\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 18 Building Well-Behaved Code 537\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat Is a Well-Behaved Macro? 537\u003c\/p\u003e \u003cp\u003eRetaining or Restoring the User Environment 539\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 19 Exploring VBA’s Security Features 553\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding How VBA Implements Security 553\u003c\/p\u003e \u003cp\u003eSigning Your Macro Projects with Digital Signatures 557\u003c\/p\u003e \u003cp\u003eWhat Is a Digital Certificate? 557\u003c\/p\u003e \u003cp\u003eThe Bottom Line 574\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 6 Programming the Office Applications 575\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 20 Understanding the Word Object Model and Key Objects 577\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eExamining the Word Object Model 577\u003c\/p\u003e \u003cp\u003eWorking with the Documents Collection and the Document Object 581\u003c\/p\u003e \u003cp\u003eCreating a Document 581\u003c\/p\u003e \u003cp\u003eThe Bottom Line 609\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 21 Working with Widely Used Objects in Word 611\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUsing Find and Replace via VBA 611\u003c\/p\u003e \u003cp\u003eUnderstanding the Syntax of the Execute Method 613\u003c\/p\u003e \u003cp\u003ePutting Find and Replace to Work 616\u003c\/p\u003e \u003cp\u003eWorking with Headers, Footers, and Page Numbers 617\u003c\/p\u003e \u003cp\u003eThe Bottom Line 642\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 22 Understanding the Excel Object Model and Key Objects 645\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eGetting an Overview of the Excel Object Model 645\u003c\/p\u003e \u003cp\u003eUnderstanding Excel’s Creatable Objects 646\u003c\/p\u003e \u003cp\u003eManaging Workbooks 647\u003c\/p\u003e \u003cp\u003eCreating a Workbook 647\u003c\/p\u003e \u003cp\u003eThe Bottom Line 670\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 23 Working with Widely Used Objects in Excel 671\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWorking with Charts 671\u003c\/p\u003e \u003cp\u003eCreating a Chart 671\u003c\/p\u003e \u003cp\u003eSpecifying the Source Data for the Chart 673\u003c\/p\u003e \u003cp\u003eThe Bottom Line 685\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 24 Understanding the PowerPoint Object Model and Key Objects 687\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eGetting an Overview of the PowerPoint Object Model 687\u003c\/p\u003e \u003cp\u003eUnderstanding PowerPoint’s Creatable Objects 688\u003c\/p\u003e \u003cp\u003eWorking with Presentations 689\u003c\/p\u003e \u003cp\u003eThe Bottom Line 707\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 25 Working with Shapes and Running Slide Shows 709\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWorking with Shapes 709\u003c\/p\u003e \u003cp\u003eAdding Shapes to Slides 709\u003c\/p\u003e \u003cp\u003eDeleting a Shape 715\u003c\/p\u003e \u003cp\u003eThe Bottom Line 729\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 26 Understanding the Outlook Object Model and Key Objects 731\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eGetting an Overview of the Outlook Object Model 731\u003c\/p\u003e \u003cp\u003eThe Outlook Object Model 732\u003c\/p\u003e \u003cp\u003eUnderstanding Where Outlook Stores VBA Macros 733\u003c\/p\u003e \u003cp\u003eUnderstanding Outlook’s Most Common Creatable Objects 734\u003c\/p\u003e \u003cp\u003eThe Bottom Line 752\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 27 Working with Events in Outlook 755\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eHow Event-Handler Procedures Differ from Ordinary Macros 755\u003c\/p\u003e \u003cp\u003eWorking with Application-Level Events 756\u003c\/p\u003e \u003cp\u003eUsing the Startup Event 758\u003c\/p\u003e \u003cp\u003eThe Bottom Line 773\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 28 Understanding the Access Object Model and Key Objects 775\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eGetting Started with VBA in Access 775\u003c\/p\u003e \u003cp\u003eCreating a Module in the VBA Editor 778\u003c\/p\u003e \u003cp\u003eCreating a Function 778\u003c\/p\u003e \u003cp\u003eThe Bottom Line 800\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 29 Accessing One Application from Another Application 801\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding the Tools Used to Communicate Between Applications 801\u003c\/p\u003e \u003cp\u003eUsing Automation to Transfer Information 802\u003c\/p\u003e \u003cp\u003eUnderstanding Early and Late Binding 803\u003c\/p\u003e \u003cp\u003eThe Bottom Line 830\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix A The Bottom Line 833\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eChapter 1: Recording and Running Macros in the Office Applications 833\u003c\/p\u003e \u003cp\u003eChapter 2: Getting Started with the Visual Basic Editor 835\u003c\/p\u003e \u003cp\u003eChapter 3: Editing Recorded Macros 836\u003c\/p\u003e \u003cp\u003eChapter 4: Creating Code from Scratch in the Visual Basic Editor 836\u003c\/p\u003e \u003cp\u003eChapter 5: Understanding the Essentials of VBA Syntax 839\u003c\/p\u003e \u003cp\u003eChapter 6: Working with Variables, Constants, and Enumerations 840\u003c\/p\u003e \u003cp\u003eChapter 7: Using Array Variables 842\u003c\/p\u003e \u003cp\u003eChapter 8: Finding the Objects, Methods, and Properties You Need 843\u003c\/p\u003e \u003cp\u003eChapter 9: Using Built-in Functions 844\u003c\/p\u003e \u003cp\u003eChapter 10: Creating Your Own Functions 846\u003c\/p\u003e \u003cp\u003eChapter 11: Making Decisions in Your Code 847\u003c\/p\u003e \u003cp\u003eChapter 12: Using Loops to Repeat Actions 849\u003c\/p\u003e \u003cp\u003eChapter 13: Getting User Input with Message Boxes and Input Boxes 850\u003c\/p\u003e \u003cp\u003eChapter 14: Creating Simple Custom Dialog Boxes 851\u003c\/p\u003e \u003cp\u003eChapter 15: Creating Complex Forms 855\u003c\/p\u003e \u003cp\u003eChapter 16: Building Modular Code and Using Classes 856\u003c\/p\u003e \u003cp\u003eChapter 17: Debugging Your Code and Handling Errors 858\u003c\/p\u003e \u003cp\u003eChapter 18: Building Well-Behaved Code 859\u003c\/p\u003e \u003cp\u003eChapter 19: Exploring VBA’s Security Features 860\u003c\/p\u003e \u003cp\u003eChapter 20: Understanding the Word Object Model and Key Objects 862\u003c\/p\u003e \u003cp\u003eChapter 21: Working with Widely Used Objects in Word 863\u003c\/p\u003e \u003cp\u003eChapter 22: Understanding the Excel Object Model and Key Objects 864\u003c\/p\u003e \u003cp\u003eChapter 23: Working with Widely Used Objects in Excel 865\u003c\/p\u003e \u003cp\u003eChapter 24: Understanding the PowerPoint Object Model and Key Objects 866\u003c\/p\u003e \u003cp\u003eChapter 25: Working with Shapes and Running Slide Shows 867\u003c\/p\u003e \u003cp\u003eChapter 26: Understanding the Outlook Object Model and Key Objects 868\u003c\/p\u003e \u003cp\u003eChapter 27: Working with Events in Outlook 869\u003c\/p\u003e \u003cp\u003eChapter 28: Understanding the Access Object Model and Key Objects 870\u003c\/p\u003e \u003cp\u003eChapter 29: Accessing One Application from Another Application 871\u003c\/p\u003e \u003cp\u003eIndex 873\u003c\/p\u003e\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eSubject Areas: Computer programming \/ software development [\u003ca title=\"See our other books on Computer programming \/ software development\" href=\"https:\/\/freshlyprintedbooks.co.uk\/search?q=%22Computer%20programming%20\/%20software%20development%20%5BUM%5D%22\"\u003eUM\u003c\/a\u003e]\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003c\/font\u003e","brand":"Sybex","offers":[{"title":"Brand New","offer_id":52458380951832,"sku":"9781119579335","price":27.19,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0730\/2037\/5320\/files\/9781119579335.jpg?v=1785372021","url":"https:\/\/freshlyprintedbooks.co.uk\/products\/mastering-vba-for-microsoft-office-365-paperback-softback-9781119579335","provider":"Freshly Printed Books","version":"1.0","type":"link"}