ماکروها در Word به زبانی به نام VBA نوشته می شوند. مانند هر زبان برنامه نویسی دیگری، VBA شامل ساختارهای برنامه نویسی خاصی است که برای کنترل نحوه اجرای برنامه استفاده می شود. یکی از این ساختارها ساختار Select Case است. این ساختار دارای نحو زیر است:
Select Case expression
Case expression
program statements
Case expression
program statements
Case Else
program statements
End Select
هنگامی که یک ماکرو در حال اجرا است و با این ساختار مواجه می شود، Word از عبارت (خط اول) برای آزمایش هر دستور Case بعدی استفاده می کند تا ببیند آیا کد زیر عبارت Case باید اجرا شود یا خیر. به عنوان مثال، کد زیر را در نظر بگیرید:
Select Case DayOfWeek
Case 1
DayName = "Monday"
Case 2
DayName = "Tuesday"
Case 3
DayName = "Wednesday"
Case 4
DayName = "Thursday"
Case 5
DayName = "Friday"
Case 6
DayName = "Saturday"
Case 7
DayName = "Sunday"
Case Else
DayName = "Unknown day"
End Select
این کد فرض میکند که آن را با مقدار عددی DayOfWeek وارد کنید. فرض کنید (به عنوان مثال"s sake) مقدار 4 است. در این ساختار، تنها کدی که اجرا می شود، کد زیر عبارت Case 4 است - به عبارت دیگر، ماکرو DayName را روی "Thursday" تنظیم می کند. اگر DayOfWeek روی مقدار دیگری تنظیم می شد که توسط دستورات Case در نظر گرفته نمی شد (خارج از محدوده 1 تا 7)، کد زیر Case Else اجرا می شد و ماکرو DayName را روی "روز ناشناخته" تنظیم می کرد.
شما همچنین به عبارات ساده Case محدود نمی شوید. به عنوان مثال، می توانید از ساختار Select Case مانند موارد زیر استفاده کنید:
Select Case DayOfWeek
Case 1 To 5
DayName = "Weekday"
Case 6, 7
DayName = "Weekend"
Case Else
DayName = "Unknown day"
End Select
به استفاده از محدوده در عبارت Case اول و استفاده از چندین مقدار در دومی توجه کنید. عبارت Case در نحوه ساختاربندی آن کاملاً منعطف است.