376 Excel 2007 VBA Macro Programming
Columns collection, 154, 167 overview, 25–26
ColumnWidth property, 106, 167 predefined, 26
combo boxes, 105, 246–248 string names, 343
ComboBox control, 105 control buttons, 213–216, 360
comma (,), 31 Control toolbox, 128
Comma parameter, 350 controls
command bars, 123, 124–128 adding to forms, 103
Command Button icon, 129 default, 104–112
command buttons, 109, 128–130, 299 enabled/disabled, 99, 105
command statements, 62–66 inserting in spreadsheets, 128–130
CommandBars object, 123, 124–128, 147, 233 labels, 104
CommandButton control, 109 locked, 105
commas (,), 276 in toolbox, 104–112
comma-separated value. See CSV VBA, 27
commenting code, 90 viewing, 103
comments, 337–346 ControlSource property, 105
conversion functions, 51–52
adding, 165 convert_asc function, 293–295
adding formula details into, 269–271 ConvertFormula method, 300
color, 337–346 Copy method, 168, 320
deleting, 344 Count function, 211
described, 337 Count property, 140, 286
enhancing, 345–346 CreateObject method, 171
macros, 149 creation date, 278
resetting to defaults, 343 CStr function, 51
shapes, 340–341, 345 CSV files, 347–351
uses for, 337 CSV (comma-separated value) format, 347–351
in worksheets, 163 Currency data type, 21
XML files, 218 currency symbol, 52, 53
Comments collection, 163 Custom UI Editor, 234–248
Common Dialog control, 113–121 cycling, 140
Common User Interface dialogs, 113–121
Compare parameter, 48 D
comparison operators, 71, 74
compile errors, 6, 81–82 data source name (DSN), 188, 189
component object models (COMs), 190, 205–211 data types, 18–22
COMs (component object models), 190, 205–211
concatenation, 46, 72–75 argument, 33
concatenation operator (&), 72–75 declaring with, 33
conditional If statement, 36, 37 memory and, 20
conditional operators, 37 numeric, 20–21
conditional statements, 38 string, 21–22
Connection object, 191, 192 user-defined, 25
constants variant, 18–19
built-in, 143 VBA, 20–22
creating, 26 database drivers, 187, 188–190
Importance, 176 databases, 187–192
message boxes, 67–69 DataType parameter, 350
date, creation, 278 Index 377
Date function, 57
DateAdd function, 57–58 disk space, 194–195
DateDiff function, 58 display properties, 160
DatePart function, 58–59 DisplayAlerts statement, 267
DateSerial function, 59 DLL (dynamic link library), 205
date/time formats, 54–62 DLL files, 193–194, 205
date/time functions, 56–62 Do keyword, 23
date/time values, 19 Do Until loops, 41–42
DateValue function, 60 Document Object Model (DOM), 229
Day function, 60 DoEvents command, 198
Debug button, 82–83 DOM (Document Object Model), 229
debug mode, 83 dot (.), 137, 144, 192
Debug window, 86–88 Double data type, 21
debugging, 81–90. See also errors documents. See files
drivers, 187, 188–190
avoiding bugs, 90 DSN (data source name), 188, 189
breakpoints, 82, 84 dynamic arrays, 24–25
Call Stack dialog, 85–86 dynamic link library. See DLL
commenting and, 90
compile errors, 81–82 E
event problems, 88
logic errors, 82 edit boxes, 244–246
overview, 81 effects, 337, 353–355
runtime errors, 82, 91 ellipsis (...), 99, 111
Stop statements, 84 e-mail, 174–176
types of errors, 81–82 Enabled property, 99
using message boxes in, 88–90 encryption, 79, 206, 321
decisions, 36–39 End..If statement, 36
declarations, 14–15, 33 EOF marker, 191
Delete method, 125, 164, 344 error handling, 91–95
Developer item, 12, 27, 128–129 error trapping, 94
Dialog object, 147 error window, 83
dialogs, 97–121. See also message boxes errors, 91–95. See also debugging
Call Stack, 85–86
Color, 117 avoiding, 90
default, 120–121 compile, 6, 81–82
Font, 118–119 display of, 7
Microsoft, 113–121 examples of, 91–93
Open, 115–116 generating custom, 94–95
overview, 97, 113 logic, 82
Print, 119–120, 121 mismatch, 144–145
properties, 97–100 returning information about, 92–93
Save As, 116 runtime, 82, 91
user interface, 113–121 turning on/off, 350
UserForm, 97–100 type mismatch, 19, 74, 144–145
viewing forms, 101 error-trapping routines, 92
Dialogs collection, 120–121, 154 EVAL function, 281–283
Dim statement, 14, 16, 17, 24, 142, 145 evaluating items
Boolean values, 38
in cells, 281–283
operators, 71–72
378 Excel 2007 VBA Macro Programming
event macros, 8–9 DDL, 193–194, 205
events EXE, 193–194
INI, 195–197
click, 102 WAV, 202–203
keyboard-related, 102 Word, 171, 172–178
mouse-related, 88, 102, 329–331 XML. See XML files
problems with, 88 XSD, 221, 222–228
timed, 291–292 filters, pivot tables, 257–258
viewing, 101–102 Find method, 335
in worksheets, 10–11 Find Next button, 327–330
writing VBA code for, 6 finding. See searching
Excel add-ins, 33 fixed length strings, 21
Excel menu, 12, 121, 124–128, 153 Flags property, 118–119, 340
Excel Object Model. See object models floating point data types, 21
Excel VBA. See also VBA entries floating point numbers, 51–52
arguments, 33–34 Font dialog, 118–119
arrays, 22–25 Font property, 99, 100
basics, 3–12 fonts, 99, 118–119
constants, 25–26 For Each loops, 41
data types, 18–22 For keyword, 26
functions. See functions ForeColor property, 99
modules, 27–28 form controls, 99
reserved words, 26 Format function, 52–56
user-defined types, 25 formatting
variables, 13–17 date/time formats, 54–62
Excel worksheet screen, 4 numbers, 52–56
exclamation point (!), 56 XLS, 217–232
EXE files, 193–194 forms
Exit Do statement, 43 color, 98
Exit For statement, 43 displaying code for, 103
Exit statement, 43 entering text on, 104–105
explicit declarations, 15 hiding, 103, 299
Explosion property, 184 multiple pages, 110
exponent, 74 naming, 98
exporting data placing controls onto, 103
charts as picture files, 185 populating, 103–104
data validation and, 222 properties, 97–100
as XML files, 224–226, 228 size, 99
expressions, 71–79, 86–87 title, 99
Extensible Markup Language. See XML viewing, 101
Formula Paste icon, 282
F formulas
absolute, 297–301
false values, 76, 77, 79 adding into comments box, 269–271
FieldInfo parameter, 350 in colored cells, 309–311
file types, 10–11 converting, 262
files evaluating cells, 281–283
add-in, 357–366
CSV, 347–351
relative, 297–301 Index 379
Replace, 287–289
user-defined, 282 I
For..Next loops, 22–23, 40–41
Frame control, 109 If statements, 36–37, 38, 77, 263
frames, 109 Image control, 111–112, 213
FreezePanes property, 161 images. See pictures
functions, 49–62. See also routines; implicit declarations, 14–15
specific functions Importance constants, 176
built-in, 29 importing data
conversion, 51–52
date/time, 56–62 CSV files, 347–351
described, 29 leading zero data, 347–351
inserting, 28, 33 Replace formula and, 287–289
mathematical, 30–32 reversing labels, 275–276
multimedia, 202–203 index number, 22, 140, 159, 209
private, 28, 32–33 indexes
public, 28, 32–33, 315 in collections, 136–137, 140, 159
using with spreadsheets, 32 list boxes and, 107
vs. subroutines, 28–29 looping and, 40, 41, 43
writing code as, 28 tab strips and, 110
writing simple, 30–32 INI files, 195–197
Initialize event, 103
G Insert function command, 33
instant watch mode, 83
Get property, 207 Instr function, 48–49
Global statement, 17 Int function, 49–50
global values, 317–320 Integer data type, 20, 21
global variables, 15, 17, 319–320 integers, 49–50, 51, 59, 215
got focus/lost focus event, 88 Is operator, 79
gradients, 344, 345 IsEmpty function, 19
graphics. See pictures IsNull function, 20
graphs, 181–185 IsNumeric function, 19
GridLineColor property, 161 Italic attribute, 314
Item function, 211
H
K
HasComment property, 344
HasFormula property, 344 keyboard activity, 197–202
HasPassword property, 157 KeyDown event, 88, 102
Height property, 99 KeyPress event, 102
Help method, 154 keypresses, 62–66, 102
hidden sheets, 321–325 keys
Hide method, 103, 299
Hour function, 60 API calls, 193, 196–202
HTML tags, 218 combinations, 198–202
special, 64–65
KeyUp event, 102
Kill command, 350
380 Excel 2007 VBA Macro Programming
L subroutines available as, 32–33
using subroutines with, 28
Label control, 104 Magic menu, 357–366
labels main objects, 151–169
master cells, 313–315
charts, 184–185 MatchRequired property, 105
converting to numbers, 261–264 mathematical functions, 30–32
reversing, 275–276 mathematical operators, 30, 71, 72–74
LBound statement, 24 matrix, 293–296
Lcase function, 47–48 matrix additions, 293–296
leading zeros data, 347–351 memory
Left property, 99 arrays and, 20, 23
Len function, 49 creating Workbook objects in, 145–146
Let property, 207 data types and, 20
Like operator, 79–80 inadequate, 24
list boxes, 105–107 Windows and, 24
ListBox control, 105–107 menu bars, 3, 123–130, 358
ListBox object, 340 menu commands, 124–128, 133, 364, 366
local variables, 16 menu entries, 124–125
logic errors, 82 menu items, 124–127, 147, 360
logical operators, 75–79 Menu Items control, 124
Long data type, 20, 21 message boxes, 66–69. See also dialogs
Loop keyword, 24 conditional statements, 38
loops, 39–43 constants, 67–69
animations, 214–216 MsgBox function, 66
described, 35 MsgBox statement, 7–10
Do Until, 41–42 overview, 66–67
For Each, 41 Select Case statement, 39
early exit of, 42–43 using in debugging, 88–90
For..Next, 22–23, 40–41 methods. See also specific methods
indexes and, 40, 41, 43 calling, 138–142
nested, 41, 43, 216, 262, 286 described, 134–135, 138
While..Wend, 42 examining in Object Browser, 143–144
examples of, 134–135, 138
M object models, 134–142
overview, 134–136
macro recorder, 185 ribbon, 241–242
macros Microsoft Access, 188–190
Microsoft Common Dialog control, 113–121
calling code from, 28 Microsoft Developer Network (MSDN), 194
charts, 185 Microsoft dialogs, 113–121
comments, 149 Microsoft Excel Objects, 6
creating simple, 7–10 Microsoft Office. See Office
described, 3–4, 147 Microsoft Outlook, 174–176
location of, 4 Microsoft Word, 171, 172–174
naming, 147 Mid command, 46–47
recording, 147–149 Minute function, 61
running, 8–9, 27
saving, 11–12
mismatch errors, 144–145 Index 381
Mod function, 295
Mod operator, 74 floating point, 51–52
module-level variables, 16 formatting, 52–56
modules, 27–28 matrix of, 293–296
Month function, 61 odd/even, 74
Mouse events, 88, 102, 329–331 random, 215
MouseDown event, 88, 102 range of. See ranges
MouseMove event, 102 sorting, 285–286
MouseUp event, 102 square root, 50
Move events, 329–331 numeric data types, 20–21
MSDN (Microsoft Developer Network), 194
MSDN web site, 234 O
MsgBox function, 66
MsgBox statement, 7–10 Object Browser, 143–144
msoAutoShapeType, 340–341 Object Library, 171–177
multidimensional arrays, 23–24 object models, 131–178
Multimedia functions, 202–203
multimedia sounds, 202–203 class modules, 205–211
MultiPage control, 110 hierarchy of objects, 146–147
Multiply function, 30–32 main objects, 151–169
MultiSelect property, 106 methods, 134–142
Object Browser, 143–144
N objects in, 134
overview, 133–134
“nag” message boxes, 292 passwords, 206
name conflicts, 17 properties. See properties
Name property, 98 recording macros, 147–149
nested items structure of, 142
objects. See also specific objects
If statements, 36 ADO, 190–192
loops, 41, 43, 216, 262, 286 animating, 213–216
procedures, 85 Application, 151–156
NewWindow property, 161 creating, 206–208
Next keyword, 26 described, 134
Not operator, 76 in Excel object model, 134
Notepad, 348–349 grouping into other objects, 137
Now function, 56 hierarchy, 134
Null value, 20, 72–74 main, 151–169
number sign (#), 80 using arrays as, 25
numbers Windows, 147, 158–163
Anding together, 75–76 Workbook, 156–158
arithmetic operators, 30, 71, 72–74 ODBC (Open Database Connectivity), 187–190
auto-totaling matrix of, 293–296 ODBC drivers, 187, 188–190
binary bit, 76 ODBC links, 188–190
calculating range of, 273–274 Office, 171–178
converting labels to, 261–264 Office Assistant (Clippy), 1
evaluating. See evaluating items Office Object Library file, 171
Office programs, driving Excel from, 176–178
Office ribbon, 234
382 Excel 2007 VBA Macro Programming
Office2007IconsGallery, 239 Picture Tiling property, 99
OK button, 317–320 PictureAlignment property, 99
OLB file, 172 pictures
OLE automation, 62
On Error Resume Next statement, 93–94, adding, 99
alignment, 99
344, 350 background, 164–165
On Error statement, 91–93, 94 exporting charts as, 185
OnAction property, 354, 360 inserting, 111–112
OnTime function, 291–292 for ribbon buttons, 239
Open Database Connectivity. See ODBC size, 99
Open dialog, 115–116 tiling, 99
Open method, 136, 138 PictureSizeMode property, 99
OperatingSystem property, 154 pie charts, 181–185
operators, 71–80. See also specific operators pivot cache, 254
pivot tables, 249–261
arithmetic, 30, 71, 72–74 PivotFilters collection, 257–258
comparison, 71, 74 PlotBy property, 184
concatenation, 72–75 plus sign (+), 64
conditional, 37 PName object, 206–211
evaluating, 71 PNames collection, 208–211
logical, 75–79 populating forms, 103–104
orders of precedence, 71–72 pop-up submenus, 360–361
overview, 71–72 precedence, 71–72
option buttons, 108 Preserve keyword, 16, 25
Option Compare statement, 79 Print dialog, 119–120, 121
Option Explicit statement, 15 printers, 119–120, 121
Optional keyword, 34 PrintOut method, 157, 164, 168
OptionButton control, 108 PrintPreview method, 157, 164, 168
Or operator, 76–77 private functions, 28, 32–33
OrganizationName property, 154–155 Private keyword, 32
Outlook, 174–176 private subroutines, 28, 32–33
procedures, stepping through, 85
P Project Explorer, 5–7, 10–11
Project tree, 5, 10
Panes collection, 161 properties. See also specific properties
parameters, 34, 138–139 access to, 207
Parent property, 146 caption, 99, 153–154, 160, 322, 339
parentheses ( ), 64, 71–72, 138–139 described, 134
passing by name, 139 dialogs, 97–100
passing by order, 138–139 display, 160
passwords examining in Object Browser, 143–144
examples of, 134–135
hidden worksheets and, 321–325 fonts, 118–119
object models and, 206 forms, 97–100
workbooks, 325 manipulating, 136–137
worksheets, 325 object models, 134–142
PasteSpecial method, 168, 320, 324 overview, 134–136
percent sign (%), 64
Picture property, 99, 111–112
reading, 136 Index 383
read-only, 136
read/write, 136 Replace All button, 327–330
Properties window, 97 Replace button, 327–330
Protect method, 164 Replace formula, 287–289
public functions, 28, 32–33, 315 Replace method, 168
Public keyword, 32 replacement function, 287–289
public subroutines, 28, 32–33 reserved words, 26
Resume Next statement, 93–94
Q Resume statement, 93–94
ribbon, 233–247. See also XML
question mark (?), 80
Quick Basic colors, 215, 216 code creation, 236–248
Quit method, 155 control creation, 242–248
quote mark ('), 32 Custom UI Editor, 234–237
customizing, 234–237
R dynamic code use and, 239–242
images, 239
radio buttons, 108, 298, 300–301 methods, 241–242
random numbers, 215 Office, 234
Randomize statement, 215 overview, 123, 233–234
Range object, 144–145, 164, 165–169 using VBA/code with, 239–242
range.calculate method, 273–274 RibbonX, 127–128
ranges Row property, 167
rows
calculating for numbers, 273–274 coloring, 303–307
described, 313 displaying, 152
globally changing, 317–320 height, 167
referencing, 144–145 moving cursor between, 152
transposing, 265–267 multidimensional arrays, 23
values, 273–274 number of, 167
RangeSelection property, 161 in pivot tables, 252, 258
ReadOnly property, 158 selecting, 154
RecentFiles collection, 155 Rows collection, 154, 167
Recordset object, 191, 192 RowSource property, 105
ReDim statement, 16, 22, 24, 25 RowWidth property, 167
RefEdit control, 112 Run symbol, 84
references runtime errors, 91
absolute, 297–301
to attributes, 313–315 S
ControlSource, 105
to master cells, 313–315 Save As dialog, 116
to Object Library, 171–177 Save method, 138, 158
ranges, 144–145 SaveAs method, 138, 139, 158, 164
relative, 297–301 Saved property, 137, 158
Regional Options settings, 19 Schedule parameter, 292
Registry, 195–196 scroll bars, 110–111
relative addressing, 297–301 ScrollBar control, 110–111
relative formulas, 297–301 Search All facility, 327–335
Search facility, 327–335
384 Excel 2007 VBA Macro Programming
searching concatenation, 46
in Object Browser, 143–144 converting to values, 52
workbooks, 327–335 described, 45
worksheets, 327–335 encrypted, 79
fixed length, 21
Second function, 61 joining, 46
Select Case statements, 38–39 removing characters from, 288
Select method, 164, 168 replacing characters in, 287–289
SelectedSheets collection, 161–162, 263 searching, 48–49
Selection object, 149, 263 splitting, 46–47
Selection property, 155 values in, 51
SendKeys command, 62–66 variable length, 21
series collections, 184–185 subroutines. See also functions
SetBackGroundPicture method, 164–165 available as macros, 32–33
shadowing variables, 17 described, 28
shapes private, 28, 32–33
public, 28, 32–33
comments, 340–341, 345 running, 30
in spreadsheets, 353–355 using with macros, 28
Shapes collection, 181, 182 vs. functions, 28–29
Shapes object, 181 writing simple, 29–30
Sheets collection, 155–156, 158, 286 Subscript attribute, 314
Show method, 103, 324 “Subscript out of range” error, 139
Single data type, 21 subtract (-) operator, 30
Size attribute, 314 SUM formula, 295–296
slashes (/), 276 Superscript attribute, 314
sorting items, 285–286
special characters, 64–65 T
spell checking, 163
spin buttons, 111 tab strip, 109–110
SpinButton control, 111 tables, pivot, 249–261
Split property, 162 TabRatio property, 162
spreadsheets TabStrip control, 109–110
columns. See columns text
communicating with, 144–146
inserting controls in, 128–130 color, 99, 118
rows. See rows entering on forms, 104–105
shapes in, 353–355 fonts, 99
using functions with, 32 text boxes, 244–246
Sqr function, 50 Text property, 168, 169
square root, 50 TextBox control, 104–105
Static statement, 16, 17, 24 ThisWorkbook property, 156
static variables, 17 tilde (~), 64
Step option, 40 Time function, 57
stepping through program, 84–85 timed events, 291–292
Stop statements, 84 time/date formats, 54–56
String data types, 21–22 time/date functions, 56–62
strings, 45–49 time/date values, 19
changing appearance of, 47–48 To keyword, 23
changing case, 47–48
toggle buttons, 108 Index 385
ToggleButton control, 108
Toolbox window, 103–104 local, 16
tooltip text, 103 module-level, 16
Top property, 215 monitoring values, 86–87
true/false values, 76–77, 79 name conflicts, 17
TXT suffix, 347, 350 names, 14, 15
Type keyword, 25 overview, 13–14
Type Mismatch error, 19, 74, 144–145 oWd, 173
scope, 15–17
U shadowing, 17
static, 17
UBound statement, 24 undeclared, 15
Ucase function, 47–48, 286 using as arrays, 22–23
Underline attribute, 314 Variant data type, 21, 33
Undo method, 156 variants, 18–19
Unprotect method, 165 VarType function, 18
user-defined types, 25 VBA, Excel
UserForm, 28, 97–100 arguments, 33–34
UserForm_Terminate event, 331 arrays, 22–25
UserName property, 156 basics, 3–12
constants, 25–26
V data types, 18–22
functions. See functions
Val function, 52 modules, 27–28
Value property, 168 reserved words, 26
values user-defined types, 25
variables, 13–17
absolute, 49 VBA code. See also code
Boolean, 38 converting to add-in files, 357–366
converting formats, 51–52 pivot tables, 249–261
converting strings to, 52 using with ribbon, 239–242
copying/pasting, 320 writing for events, 6
date/time, 19 VBA controls, 27
empty, 19 VBA data types, 20–22
false, 76, 77, 79 VBA macros. See macros
global, 317–320 VBA Project Explorer, 5–7, 10–11
passing arguments by, 34 VBA Project window, 10–11
range of, 273–274 VBA projects, 5–6
requiring matches, 105 VBA-defined shapes, 353–355
in strings, 51 VBE (Visual Basic Editor), 3–11
true, 76, 79 VBE window, 3, 5
variable length strings, 21 Version property, 156
variables, 13–17 viewing events, 101–102
application, 173 viewing form code, 103
explicit declaration, 15 viewing forms, 101
global, 15, 17, 319–320 Visible property, 165, 176, 323
implicit declaration, 14–15 Visual Basic Editor (VBE), 3–11
lifetime, 15 Visual Basic for Applications. See VBA
386 Excel 2007 VBA Macro Programming
W Worksheets collection, 140–141, 158
Worksheets object, 146, 147
watch expressions, 86–87 WrapText flag, 169
watch mode, 83 WrapText property, 169
WAV files, 202–203
Weekday function, 62 X
While..Wend loops, 42
WHO function, 278–279 XLS format, 217–232
Width property, 99 XML (Extensible Markup Language), 127–128.
wildcard characters, 80
Windows collection, 158, 263 See also ribbon
Windows object, 147, 158–163 XML files, 217–232
Windows Registry, 195–196
WindowState property, 162 comments, 218
With statement, 360 encoding, 218
Word documents, 171, 172–178 importing/exporting data, 224–226, 228
Word Object Library, 171 manipulating programmatically, 229–232
Workbook object, 146, 147, 156–158 opening, 219
Workbook tier, 149 overview, 218–221
workbooks rules, 219–220
schemas, 221
creation date, 278 stand alone, 218
identifying creator of, 277–281 VBA and, 221–231
passwords, 325 version, 218
searching, 327–335 XML maps, 221–228
Workbooks collection, 140 XML schema, 219, 221–228
Worksheet object, 147, 163–165 XML Schema Description file. See XSD
worksheets Xor operator, 78–79
events in, 10–11 XSD files, 221, 222–228
hidden, 321–325
label/number conversions, 261–264 Y
password-protected, 321–325
referring to, 137 Year function, 61
renaming, 286
searching, 327–335 Z
sorting alphabetically, 285–286
zeros, leading, 347–351
Zoom property, 163
Expert CompTIA®
certification guides
FOR SUCCESS
ON EXAM DAY
AND BEYOND
Gregory White,
Wm. Arthur Conklin, et al.
A comprehensive CompTIA
Security+™ exam guide and
essential on-the-job reference.
978-0-07-160127-6
T.J. Samuelle
Concise coverage of only what
you need to know to pass the
CompTIA Security+™ exam.
978-0-07-160123-8
Tom Carpenter Ron Gilster and Helen Heneveld
The #1 classroom-proven A comprehensive CEA-CompTIA
CompTIA Convergence+™ DHTI+™ exam guide and essential
training and exam prep tool. on-the-job reference.
978-0-07-159680-0 978-0-07-154665-2
Practice exams, e-books, and more on CD-ROMs
SHARPEN YOUR DATABASE SKILLS
SQL: A Beginner’s Guide, Third Edition Databases: A Beginner’s Guide
Andy Oppel and Robert Sheldon Andy Oppel
Written to the SQL:2006 ANSI/ISO standard, Learn standard database design and
this easy-to-follow guide gets you started management techniques applicable to any
programming in SQL right away.
type of database.
SQL: The Complete Reference, Third Edition Data Warehouse Design
James R. Groff, Paul N. Weinberg, and Andy Oppel Matteo Golfarelli and Stefano Rizzi
Build, populate, and administer high-performance Plan, design, and document high-performance data
warehouses using a structured approach based on
databases and develop robust SQL-based modern software engineering principles.
applications.