مشتریان Dori Lynn از Word برای ایجاد فرم های ساده استفاده می کنند. یکی از کارهایی که آنها اغلب انجام می دهند استفاده از جداول برای سهولت در حرکت در فرم است. Dori Lynn نمیداند که آیا راهی وجود دارد که از آخرین سلول (فیلد) یک جدول به اولین خانه در جدول بعدی برگه شود. در حال حاضر اگر او در انتهای جدول قرار گیرد، یک ردیف جدید ایجاد می کند.
فشار دادن کلید Tab هنگامی که نقطه درج در سلول جدول است، معمولاً انتخاب را به سلول بعدی جدول منتقل می کند. در آخرین سلول جدول، کلید Tab یک ردیف جدید از سلولها را به پایین جدول اضافه میکند و نقطه درج را به سلول اول ردیف جدید منتقل میکند. بدیهی است که این رفتاری نیست که دوری لین به دنبال آن است.
چند روش وجود دارد که می توانید برای این مشکل استفاده کنید. یکی از آنها این است که به یاد داشته باشید که می توانید از مرورگر Object برای حرکت از یک جدول به جدول دیگر استفاده کنید. البته این بدان معناست که نمیتوانید از کلید Tab برای جابهجایی از جدولی به جدول دیگر استفاده کنید، اما میتوانید روی دکمه «مرورگر شی» کلیک کنید (گوشه پایین سمت راست صفحه، روی «توپ» کوچک بین دوبل به بالا کلیک کنید. و فلش های رو به پایین، سپس از بین گزینه ها Browse by Table را انتخاب کنید تا آن جداول را پیدا کنید.
اگر واقعاً می خواهید از کلید Tab استفاده کنید، باید یک ماکرو ایجاد کنید. فشار دادن کلید Tab زمانی که نقطه درج در یک جدول است باعث می شود Word دستوری به نام nextcell را اجرا کند که به نوبه خود دستور MoveRight را اجرا می کند. امکان نوشتن یک دستور nextcell سفارشی وجود دارد که Word را مجبور می کند آنچه را که Dori Lynn می خواهد انجام دهد.
نحوه تغییر دستورات Word موجود در سایر PCcloob پوشش داده شده است. روتین nextcell سفارشی، در زیر، کلید Tab را به دام می اندازد و انتخاب را به سلول بعدی منتقل می کند، مگر اینکه سلول فعلی آخرین سلول جدول باشد. اگر چنین است، به جدول بعدی در سند منتقل می شود. اگر هیچ جدول دیگری در سند وجود نداشته باشد، نقطه درج در آخرین خانه آخرین جدول باقی می ماند.
Sub nextcell() Dim oCell As Cell With Selection Set oCell = .Cells(1).Next If oCell Is Nothing Then .Move unit:=wdTable, Count:=1 Else .MoveRight Unit:=wdCell End If End With End Sub
زیربرنامه با جداولی که سلول های عمودی و افقی ادغام شده اند به درستی کار می کند. جداول درون جداول را پردازش میکند، اما در آخرین سلول جدول داخلی متوقف میشود.