This is the code and comments from the "Basic Basics" section of the seminar (mod01BasicBasics)
Option Explicit Sub BasicBasics_1() ' Comments, Variables ' This is a comment ' VBA/PowerPoint ignores it but we humans can use it to remind ' ourselves what we were thinking when we wrote that code ' You WILL have a "What was I THINKING???" moment sooner or later. ' Use LOTS of comments. ' Normally, we indent code to make it easier to read, so ... ' Variables are handy slots to store information we want to use later ' To create them, we have to "Dim" them ' Dim is short for "Dimension" ' When we Dim a variable, we tell VBA its name and what type of ' information it will contain ' Different types of variables can hold text, numeric, true/false or ' several other types of information. ' GOOD PROGRAMMING PRACTICE: ' Always Dim variables as the specific type for the data they'll hold ' Always give them a name that reflects that data type ' For example: ' Text is also called "Strings" in VBA ' String variables store text ' We use str or s as a prefix to identify string variables: Dim strMyName As String ' Now VBA knows that we want to store some text in a variable ' called strMyName. It won't let us store other types of data there ' by mistake. ' Other data types that variables can hold (and their common prefix): ' Integer (i or int) ' Long Integer or Long (l or lng) ' Boolean (true/false) (b, bl or bool) ' Object (o) ' Now let's store some data in strMyName: strMyName = "Steve Rindsberg" ' And do something with it: MsgBox (strMyName & " welcomes you to The Mysteries of VBA") End Sub Sub BasicBasics_2() ' Getting input from the user ' If/Then logical decisions ' While/Wend loops ' Debugging ' You might need to get a simple Yes/No decision from the user ' or you might want to get an answer that you can't predict ' in advance. ' You can use MsgBox to get simple decisions: ' First, DECLARE (Dim) a variable to hold the answer ' MsgBox returns a Long, so that's what you should declare: Dim lngAnswer As Long ' Now ask your question and request a Yes/No answer: lngAnswer = MsgBox("Are you with me so far?", vbYesNo, _ "Help us help you ...") ' lngAnswer now holds a value that tells us whether the user ' chose Yes or No ' We have to decide what to do based on that: If lngAnswer = vbYes Then ' they understood everything so far ' pat on the back: MsgBox ("I'm PROUD of you!") Else ' uh-oh - problems ' let's find out more ... ' this time we'll get more generic information ' using InputBox ' we need someplace to hold the info so: Dim strMoreInfo As String strMoreInfo = "" ' make sure it's blank to start ' ask what the problem was and make sure we get an answer ' no blanks allowed! ' We'll keep asking until they type in SOMETHING While strMoreInfo = "" strMoreInfo = InputBox("Terribly sorry! What didn't you understand?", _ "Help us help you more") ' did we get any useful information? If strMoreInfo = "" Then ' they didn't tell us anything - scold them MsgBox ("Please type something, anything." _ & vbCrLf _ & "Click OK to try again.") Else ' they were good computer users so be nice: ' and reply politely: MsgBox ("See Steve in the Help Center later. He'll be happy to" _ & " help you with " _ & strMoreInfo) End If Wend End If ' After we run through that a couple times normally, ' we'll go back and do it step-by-step ' and learn a few basic debugging tricks ' Compile before running ' Stepping through the code ' Setting breakpoints ' Debugging messages End Sub
Click Next to continue