این احتمال وجود دارد که قبلاً نحوه استفاده از نشانک ها را بدانید. (سایر نکات Word نحوه تعریف و دستکاری آنها را توضیح می دهد.) اگر در حال ایجاد ماکرو هستید، ممکن است نیاز به بازیابی نام نشانک های تعریف شده در یک سند داشته باشید.
VBA به شما امکان میدهد تا با استفاده از ویژگی Name با اعضای مجموعه نشانکها، نام نشانکها را بازیابی کنید. نحو بیانیه به شرح زیر است:
x = ActiveDocument.Bookmarks(y).Name
جایی که y نشانگر افست به نام نشانک مورد نظر است. پس از اجرای دستور، x حاوی نام نشانک مشخص شده توسط اشاره گر خواهد بود. برای اینکه این تابع مفید باشد، واقعاً باید همه نام نشانک ها را در یک آرایه بخوانید که سپس می توانید آن را دستکاری کنید. قطعه کد زیر این کار را انجام می دهد:
Dim Bmk() As String
Dim x As Integer, J As Integer
x = ActiveDocument.Bookmarks.Count
ReDim Bmk(x)
For j = 1 to x
Bmk(j) = ActiveDocument.Bookmarks(j).Name
Next j
توجه داشته باشید که این قطعه کد از دستور ReDim استفاده می کند که به شما امکان می دهد به صورت پویا تعداد عناصر یک آرایه را تغییر دهید. دلیل این رویکرد بسیار ساده است: آرایه Bmk باید به تعداد بوکمارک های تعریف شده عناصر داشته باشد. با این حال، شما نمیتوانید قبل از اجرای خط سوم این کد دقیقاً تعداد آنها را بدانید. VBA نیاز دارد که تمام ابعاد (با استفاده از Dim) قبل از اجرای هر کد برنامه واقعی انجام شود . بنابراین، اولین Dim برای Bmk برای برآورده کردن آن است. VBA و ReDim Bmk برای تنظیم آرایه به اندازه لازم انجام می شود.