logo
search
Office for Mac Issues

How to Show Dependent Word Form Fields from Drop-Downs on Mac

Tauseeq MagsiTauseeq Magsi Oct 20, 2026 868 views

Question details

The user needs to dynamically display or hide specific legacy Word form fields depending on the option selected from a drop-down menu in a protected document.

How to Show Dependent Word Form Fields Based on Drop-Down Selections on Mac
Product
Word
Device & OS
Mac
Scenario
Creating dynamic legacy forms where secondary fields appear or disappear based on the user's initial drop-down selection.
Observed behavior
Word for Mac requires a VBA macro triggered on the drop-down's exit event to temporarily unprotect the document, toggle field visibility based on bookmarked text, and reprotect it without losing existing data.
Before you start

Ensure that the Developer tab is enabled in your Word for Mac ribbon and that your document is saved as a Macro-Enabled Document (.docm).

Solution 1Recommended

Assign a VBA Macro to the Drop-Down Field's Exit Property

Use a VBA macro that runs when a user exits the drop-down field to automatically show or hide dependent fields.

Legacy form fields require the document to be protected to function properly. The macro must temporarily unprotect the document, change the visibility of the bookmarked fields, and then reprotect the document without resetting the user's input.

1
Open the VBA Editor

Press Option + F11 to open the Visual Basic for Applications (VBA) editor in Word for Mac.

2
Insert the Toggle Macro

Create a new module and write a script that checks the drop-down's result (e.g., If .FormFields("Dropdown1").Result = "Custom"). Use .Bookmarks("Text1").Range.Font.Hidden to toggle visibility, and ensure you use .Protect Type:=wdAllowOnlyFormFields, NoReset:=True to preserve data.

3
Assign the Exit Macro

Return to your document, right-click the drop-down legacy form field, and select Properties. Assign your newly created macro to the 'Exit' macro property.

4
Enable Calculate on Exit

In the same Drop-Down Form Field Options dialog box, check the 'Calculate on exit' box. This ensures the dependent fields update immediately when the user changes the selection.

Assign a VBA Macro to the Drop-Down Field's Exit Property
Preserve User Data: Always include NoReset:=True in your VBA document protection command. If omitted, the form will reset all entered values every time the macro runs.
Free Microsoft Office alternative

Edit Document Forms Seamlessly with WPS Office

While Microsoft Word for Mac relies on complex VBA macros to manage dynamic legacy forms, WPS Office provides a free, lightweight, and highly compatible alternative for everyday document editing, form creation, and processing.

Highly compatible with Microsoft Word .docx, .docm, and legacy form formatsFree to use with a familiar, user-friendly interface for seamless migrationLightweight application that runs fast and smoothly on Mac devicesRich set of document processing tools without expensive subscriptions
microsoft office alternative - wps office

Frequently Asked Questions

Why did my macro stop working after saving and reopening the document?

This usually happens if the document was saved as a standard .docx file instead of a Macro-Enabled Document (.docm), which removes the VBA code. It can also occur if macros are disabled in Word's security settings upon reopening, or if the form fields and bookmarks were accidentally deleted.

Can I mix legacy form fields with modern content controls on Mac?

Mixing legacy form fields and modern content controls is highly discouraged. They rely on completely different underlying features and protection methods, which frequently leads to unpredictable behavior, especially in Word for Mac where terminology and support differ from Windows.

How do I ensure data isn't lost when the VBA macro toggles document protection?

When using VBA to unprotect and reprotect the document, you must include the NoReset parameter set to True in your protection command. For example: .Protect Type:=wdAllowOnlyFormFields, NoReset:=True. This prevents Word from clearing existing form field inputs.