جولیا پرسید که آیا هنگام طراحی فرمها در Word راهی برای اجباری کردن یک فیلد فرم خاص وجود دارد؟ به عبارت دیگر، اطمینان از اینکه کاربر باید چیزی را در فیلد پر کند.
هیچ تنظیمی وجود ندارد که بتوانید از آن برای علامت گذاری یک فیلد به عنوان اجباری استفاده کنید، همانطور که در Access می توانید. اما راه های مختلفی برای ارائه عملکرد یکسان وجود دارد. شاید سادهترین روش این باشد که به سادگی مطمئن شوید که تنظیمات مناسب «در خروج» را برای فیلد فرم برای اجرای یک ماکرو تنظیم کردهاید. (برگه Developer روبان را نمایش دهید، بر روی ابزار Design Mode در گروه Controls کلیک کنید، روی فیلد کلیک راست کنید، از منوی Context گزینه Properties را انتخاب کنید و از لیست کشویی Exit برای انتخاب یک ماکرو برای اجرا استفاده کنید.) ماکرو می تواند بررسی کند تا مطمئن شود مقدار ارائه شده در فیلد در محدوده قابل قبول است. در غیر این صورت، ماکرو می تواند نقطه درج را برای درخواست ورودی به فیلد برگرداند یا می تواند اطلاعات لازم را از کاربر بخواهد. مثال زیر یک ماکرو ساده برای انجام این کار است:
Sub MustFillIn() If ActiveDocument.FormFields("Text1").Result = "" Then Do sInFld = InputBox("This field must be filled in, fill in below.") Loop While sInFld = "" ActiveDocument.FormFields("Text1").Result = sInFld End If End Sub
در این ماکرو باید نام فیلد مشخص شده (Text1) را به نام فیلدی که از ماکرو استفاده می کنید تغییر دهید. این مثال خاص بررسی می کند تا مطمئن شود کاربر چیزی – هر چیزی – را در فیلد وارد کرده است. البته، ماکرو شما میتواند در بررسیهایی که انجام میدهد بسیار دقیقتر شود.
برای یک رویکرد جامع تر، می توانید از ماکروهای خروجی (اگر بیش از یک فیلد اجباری وجود دارد) یک متغیر سیستم را تنظیم کنید. هنگامی که کاربر سعی می کند فرم را ذخیره یا ببندد، ماکرو AutoExit می تواند مقدار متغیر را بررسی کند، و اگر نشان دهد که فیلدهای اجباری پر نشده است، یک کادر محاوره ای که مشکل را توضیح می دهد نمایش داده می شود.
البته همه این رویکردها قبل از اجرا به آزمایش گسترده نیاز دارند. شما باید بر اساس نیازهای خود، داده های درگیر و نوع کاربرانی که دارید، بهترین اقدام را انتخاب کنید.