بسیاری از مردم از Word برای ایجاد فرم هایی استفاده می کنند که سپس توسط دیگران برای وارد کردن اطلاعات استفاده می شود. من در مورد فرم های معمولی و معمولی شما که در دستگاه کپی چاپ و تکثیر می شوند صحبت نمی کنم. من در مورد استفاده از فرمهایی با فیلدهای فرم ویژه Word برای ایجاد الگوهایی صحبت میکنم که به عنوان پایه اسناد جمعآوری دادهها استفاده میشوند که به صورت جداگانه با دادههای موجود ذخیره میشوند.
با طراحی، این فرم ها محافظت می شوند. این می تواند هم خوب باشد و هم بد. خوب است زیرا کاربر را از تغییر اطلاعاتی که نباید باز می دارد. بد است زیرا شما را از تغییر اطلاعاتی که ممکن است بخواهید تغییر دهید باز می دارد. اتفاقی که می افتد این است که وقتی یک کاربر سندی را بر اساس یک قالب فرم ها ایجاد می کند، اطلاعاتی که آنها در فیلدهای فرم قرار می دهند در یک سند جدید ذخیره می شود. اگر سند ذخیره شده را دوباره بارگیری می کنید، قفل فرم را باز کنید تا یک فیلد جدید اضافه کنید یا تغییر دیگری ایجاد کنید، و سپس قبل از ذخیره کردن آن، اطلاعاتی که کاربر اضافه کرده است، فرم را دوباره قفل کنید. به فرم به طور خودکار توسط Word حذف می شود و تمام فیلدهای فرم به حالت پیش فرض خود باز می گردند.
باور کنید یا نه، این یکی از ویژگی های Word است. برخی این خصوصیات را زیر سوال می برند، اما این است که چگونه ویژگی فرم ها توسط قدرت ها طراحی شده است. تنها راه غلبه بر این مشکل استفاده از ماکرو است. مکان طبیعی ذخیره ماکرو در قالبی است که فرم های شما بر اساس آن ساخته شده اند. احتمالاً می خواهید ماکرو از طریق یک کلید میانبر یا نوار ابزار دسترسی سریع در دسترس باشد. (تخصیص کلیدهای میانبر به ماکروها و افزودن آنها به نوار ابزار دسترسی سریع در شماره های دیگر WordTips پوشش داده شده است. )
به یاد داشته باشید که مشکل فقط هنگام قفل مجدد یک فرم ظاهر می شود. باز کردن قفل آنها باعث از دست رفتن اطلاعات نمی شود. بنابراین، شما فقط باید از یک ماکرو ویژه برای قفل مجدد فرم خود استفاده کنید و می توانید از ابزار باز کردن قفل معمولی در Word استفاده کنید تا قبل از تغییرات، از فرم خود محافظت کنید. ماکرو زیر با خیال راحت فرمهای قفلشده شما را دوباره قفل میکند:
Sub SafeFormLock()
If ActiveDocument.ProtectionType = wdNoProtection Then
ActiveDocument.Protect _
Password = "" _
Type:=wdAllowOnlyFormFields, _
NoReset:=True
End If
End Sub
دلیل بررسی If...Then این است که اگر از روش حفاظت در سند فعال استفاده کنید و قبلاً محافظت شده بود، VBA خطا ایجاد می کند. همچنین توجه داشته باشید که این ماکرو رمز عبور حفاظتی را تنظیم نمی کند. اگر می خواهید از رمز عبور استفاده کنید، باید آن را در ماکرو وارد کنید.