هنگامی که با جداول کار می کنید، اغلب باید مرجع یک سلول خاص را بدانید. برای توابع یا فیلدهای خاص، Word انتظار دارد که مرجع سلول با استفاده از قالب ستون/ردیف که بسیاری از خوانندگان در اکسل با آن آشنا هستند، مشخص شود. به عنوان مثال، A1 سلول بالا سمت چپ، B1 یک سلول به سمت راست، و A2 یک سلول زیر سلول اول است.
متأسفانه، هیچ قابلیت ذاتی Word وجود ندارد که شما را از مرجع سلولی که انتخاب کرده اید مطلع کند. با استفاده از ماکرو می توانید این مشکل را برطرف کنید. ماکرو مثال زیر، در نوار وضعیت، ستون و ردیف فعلی را که نقطه درج در آن قرار دارد، برمی گرداند.
Sub CellRef()
Const clngAOffset As Long = 64
" Word"s maximum columns is 64, but this procedure
" can cope up to clngMaxCols columns
Const clngMaxCols As Long = 702
Dim lngRow As Long, lngCol As Long
Dim strCol As String
" See if in table
If Selection.Information(wdWithInTable) Then
" Get column and row numbers
lngCol = Selection.Information(wdStartOfRangeColumnNumber)
lngRow = Selection.Information(wdStartOfRangeRowNumber)
" Convert column number to letter
Select Case lngCol
Case Is < 27
" Single character column reference
strCol = Chr(clngAOffset + lngCol)
Case Is > clngMaxCols
MsgBox "Table is too big"
Exit Sub
Case Else
" Two-character column reference
strCol = Chr(clngAOffset + Fix((lngCol - 1) / 26))
strCol = strCol & Chr(CLng(clngAOffset + 1 _
+ ((lngCol - 1) Mod 26)))
End Select
" Show column, row, and cell reference in status bar
StatusBar = "Col:" & lngCol & "/Row:" & lngRow _
& " = Cellref: " & strCol & CStr(lngRow)
End If
End Sub
هنگامی که ماکرو را اجرا می کنید، اطلاعات درخواستی را در نوار وضعیت با فرمت زیر نمایش می دهد:
Col:2/Row:1 = B1
باید توجه داشته باشید که ماکرو جداولی را مدیریت می کند که ابعاد بیشتری دارند که Word به صورت بومی مدیریت می کند. این کار خودسرانه انجام نشد. از نظر برنامهریزی، بازگرداندن ستون 702 جدول (ستون ZZ) به همان اندازه که بازگرداندن ستون 64 (ستون BL) آسان است.