به روز نمی کند
کریستینا یک شماره نسخه دارد که در صفحه عنوان سندش است و آن را به صورت دستی به روز می کند. او از یک فیلد در پاورقی سند برای ارجاع به این شماره نسخه استفاده می کند. وقتی شماره نسخه را در صفحه عنوان به روز می کند، در پاورقی به روز نمی شود، حتی اگر Ctrl+A را فشار داده و سپس F9 را فشار دهد. کریستینا تعجب می کند که چرا این زمینه به روز نمی شود.
دلیل اینکه این کار نمی کند این است که Word از مفهوم "لایه ها" یا "داستان" در کنار هم قرار دادن یک سند استفاده می کند. متن سند اصلی شما در یک لایه است و سایر عناصر در لایه های مختلف مانند لایه گرافیکی یا لایه سرصفحه/پانویس قرار دارند. وقتی در سند اصلی هستید و Ctrl+A را فشار میدهید، تمام متن را در لایه سند اصلی انتخاب میکنید و عمل بعدی (فشردن F9) فقط بر آنچه انتخاب کردهاید تأثیر میگذارد. اگر می خواهید فیلدهای هدر یا پاورقی را تحت تأثیر قرار دهید، باید نقطه درج را در هدر یا پاورقی قرار دهید و سپس از Ctrl+A استفاده کنید.
با این حال راه های ساده تری هم وجود دارد. یک راه آسان این است که از یک ماکرو برای به روز رسانی تمام فیلدها، صرف نظر از اینکه در کجا قرار دارند، استفاده کنید. نحوه انجام این کار در سایر شماره های PCcloob توضیح داده شده است، اما در اینجا یک ماکرو نسبتا ساده وجود دارد که به روز رسانی را انجام می دهد:
Sub UpdateAllFields1() Dim doc As Document Dim sRange As Range Dim sField As Field Set doc = ActiveDocument For Each sRange In doc.StoryRanges For Each sField In sRange.Fields a sField.Update a Next sField a Next sRange End Sub
ماکرو از تمام محدوده های داستانی (لایه ها) تعریف شده در سند عبور می کند و سپس از هر فیلد در هر یک از آن محدوده ها عبور می کند. نتیجه این است که تمام فیلدها به روز می شوند.
راه ساده و موثر دیگری برای انجام آن در اینجا نشان داده شده است:
Sub UpdateAllFields2() ActiveDocument.PrintPreview ActiveDocument.ClosePrintPreview End Sub
توجه داشته باشید که این ماکرو فقط پیشنمایش چاپ را برای سند فعلی نمایش میدهد و سپس پیشنمایش چاپ را میبندد. این باعث میشود که فیلدهای سند - بدون توجه به مکان - بهروزرسانی شوند، زیرا هر زمان که شما چاپ یا از پیشنمایش چاپ استفاده میکنید، Word بهطور خودکار فیلدها را بهروزرسانی میکند.
رویکرد دیگر این است که نحوه استفاده از فیلدهای خود را تغییر دهید. اگر فیلد به روز نمی شود، احتمالاً از یک فیلد REF در پاورقی برای ارجاع به شماره نسخه نشانک شده در صفحه عنوان استفاده می کنید. در عوض، نشانک را حذف کنید و یک سبک منحصر به فرد برای شماره نسخه اعمال کنید. (سبک باید فقط برای شماره نسخه استفاده شود.) سپس می توانید از یک فیلد STYLEREF در پاورقی استفاده کنید و شماره نسخه شما در آنجا کپی می شود. مزیت این رویکرد این است که فیلدهای STYLEREF، به دلایلی عجیب، هر زمان که اطلاعات منبع (شماره نسخه شما) تغییر کند، به صورت پویا به روز می شوند.