با فرض اینکه نقطه درج در یک نشانک قرار دارد، جان تعجب می کند که چگونه می تواند از VBA برای کشف نام آن نشانک و انتخاب تمام متن درون نشانک استفاده کند.
چند ترفند وجود دارد که باید هنگام کار با بوک مارک ها به خاطر بسپارید. اول، بهتر است فرض نکنید که نقطه درج در یک نشانک قرار دارد. درعوض، میتوانید با استفاده از کد زیر بررسی کنید که آیا در داخل یک نشانک قرار دارد یا خیر:
BkMkCount = Selection.Bookmarks.Count
وقتی اجرا شد، BkMkCount حاوی مقداری خواهد بود که تعداد نشانکها را نشان میدهد. اگر انتظار دارید فقط یک نشانک منفرد داشته باشید، قبل از اینکه کد خود را ادامه دهید می توانید بررسی کنید که متغیر برابر با 1 است.
اگر می خواهید نام نشانک را بفهمید، می توانید از موارد زیر استفاده کنید:
BkMkName = Selection.Bookmarks(1).Name
اگر می خواهید تمام متن موجود در نشانک را انتخاب کنید، از موارد زیر استفاده کنید:
Selection.Bookmarks(1).Select
برای گردآوری تمام این مفاهیم می توانید از ساختاری مانند زیر استفاده کنید:
BkMkCount = Selection.Bookmarks.Count
If BkMkCount = 1 Then
With Selection.Bookmarks(1)
BkMkName =.Name
.Select
End With
End If