VB & VBA In a Nutshell: The Language by Paul Lomax The following changes were made in the 6/01 reprint. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification {25} The last sentence in the paragraph entitled "Unload" did read: ...that the Form Load event is now preceded by an Activate event... It now reads: ...that the Form Load event is now preceded by an Initialize event... {39} The first line of code in the "Nothing keyword" section towards the bottom of the page did read: If objVar Is Not Nothing Then It now reads: If Not objVar Is Nothing Then {200} The first bulleted item in "Rules at a Glance" now reads: The calculation performed by DateDiff is always date2-date1. Therefore, if date2 chronologically precedes date1, the value returned by the functions is negative. [208] In the Syntax for Day Function: The path of the directory to set as the new default directory. now reads: Any expression capable of conversion to a Date. {225} The 3rd line on the page did read: Data Type: String It now reads: Data Type: Any (250) At the bottom of the page, the third bulleted item under "Programming Tips & Gotchas" did read: .. to either input or append. It now reads: .. to either output or append. {252} In the Syntax for Erase Statement: Data Type: String now reads: Data Type: Any [310] The following line was inserted at the beginning of the Filter Function example: Dim i As Integer [310] The first line of the Filter Function example (after the line that was added) now reads: Dim sKeys() As Variant [310] Lines 7-10 of the Filter Function example now read: odict.add "Microsoft", "One Microsoft Way" oDict.Add "AnyMicro Inc.", "31 Harbour Drive" oDict.Add "Landbor Data", "The Plaza" oDict.Add "Micron Co.", "999 Pleasant View" [310] Lines 19-23 of the Filter Function example were replaced with the following two lines: Debug.Print sFiltered(i) & ", " & _ oDict.Item(sFiltered(i)) {320} The Syntax for For...Next Statement did read: For counter = initial_value To maximum_value _ [Step stepcounter] It now reads: For counter = initial_value To end_value _ [Step stepcounter] {321} The first bulleted item did read: If maximum_value is greater than initial_value... It now reads: If end_value is less than initial_value... {321} The second bulleted item did read: If the initial_value and the maximum_value are equal and stepcounter is 1, the loop executes once. It now reads: If initial_value and end_value are equal and stepcounter is nonzero, the loop executes once; if stepcounter is 0, an infinite loop results. {361} In the 3rd bulleted item under Rules at a Glance, changed "KEY_CURRENT" to "HKEY_CURRENT". {440} In the Programming Tips & Gotchas section at the top of the page, the first line of code did read: lngOctValue1 = &H200 ' Assigns 128 It now reads: lngOctValue1 = &O200 ' Assigns 128 (524) In the count argument, changed "Data Type: Log" to "Data Type: Long". {525} Under Programming Tips & Gotchas, in the 1st line of the 1st bulleted item, changed: of Filter must be to: of Split must be (553) The See Also line in the TextStream.ReadLine Method section did read: TextStream.ReadAll Method, TextStream.ReadLine Method It now reads: TextStream.Read Method, TextStream.ReadAll Method {570} The following entry was added at the top of the table: vbArray 8192 Array {570} In the table, changed the description for vbVariant to read: Variant--only returned with vbArray (8192) {570} In line 1 of the 3rd bulleted item under Rules at a Glance, changed "8194" to "8192", and in line 3, changed "8194 + 8 = 8204" to "8192 + 8 = 8200". {574} Changed "Width # Statement" to "Width Statement". {574} In the Syntax, changed: Width #filenumber, width to: VBA.Width filenumber, width {585} Under the "Day Function" heading, it did read: Returns a number representing the day of the week The "says" is correct for the Weekday function. It now reads: Returns a number representing the day of the month {602} In the Language Constants table at the top of the page, the value for vbCrLf did read: Chr$(10) & Chr$(13) It now reads: Chr$(13) & Chr$(10) {610} In the last text paragraph on the page, the first sentence did read: As a bitwise operator Imp returns 1 if the compared bits in both expressions are the same or if expression1 is 1; It now reads: As a bitwise operator, Imp returns 1 if the compared bits in both expressions are the same or if expression2 is 1; <615> "New Functions", last line, added the following at the end of the paragraph: And Round is a badly overdue rounding function.