گاهی اوقات وقتی آیلین متن را به جدول تبدیل میکند یا اگر جدولی را از برنامه دیگری وارد میکند، برخی از سلولها قبل از اولین کاراکتر واقعی، یک فضای اصلی در آنها دارند. او نمیپرسد آیا راهی برای استفاده از Find and Replace برای حذف این فضاهای پیشرو فقط در سلولهای جدول وجود دارد؟
در واقع یک راه بسیار سریع برای خلاص شدن از شر فضاهای پیشرو بدون نیاز به استفاده از Find and Replace وجود دارد. بیایید فرض کنیم که می خواهید متن در سلول ها تراز چپ باشد. این مراحل را دنبال کنید:
- سلول هایی را که می خواهید در جدول تحت تأثیر قرار دهید انتخاب کنید.
- تب Home نوار را نمایش دهید.
- روی ابزار Center Text در گروه Paragraph کلیک کنید. اکنون تمام متن در سلول های انتخاب شده در مرکز قرار دارد.
- روی ابزار Align Text Left در گروه Paragraph کلیک کنید.
خودشه؛ هنگامی که مرحله 3 را انجام می دهید، فضاهای پیشرو به طور خودکار توسط Word حذف می شوند. مرحله 4 به سادگی متن شما را به همان جایی که در ابتدا میخواستید تراز شود، برمیگرداند. یک امتیاز اضافی این است که این مراحل در واقع هر فضای سفید را در ابتدای متن حذف می کنند، نه فقط فاصله ها را.
اگر کاملاً می خواهید از Find and Replace برای خلاص شدن از شر فضاها استفاده کنید، نمی توانید این کار را با استفاده از یک عملیات Find and Replace انجام دهید. در اینجا ایده ای وجود دارد که چگونه می توانید آن را با استفاده از چندین پاس انجام دهید:
شکل 1. تب Replace از کادر محاوره ای Find and Replace.
شکل 2. کادر محاوره ای Find Style.
- جدول را انتخاب کنید.
- Ctrl+H را فشار دهید. Word تب Replace را در کادر گفتگوی Find and Replace نمایش می دهد.
- در صورت موجود بودن دکمه More را کلیک کنید. (شکل 1 را ببینید.)
- هر چیزی را در کادر Find What پاک کنید، اما مطمئن شوید که نقطه درج همچنان در کادر است.
- روی دکمه Format و سپس Style کلیک کنید. Word کادر محاوره ای Find Style را نمایش می دهد. (شکل 2 را ببینید.)
- سبک استفاده شده توسط متن در جدول را انتخاب کنید. (احتمال زیادی وجود دارد که این سبک معمولی باشد.)
- در کادر Replace With $#$^& را وارد کنید. این مشخص میکند که میخواهید هر چیزی را که یافت میشود (که هر متنی است که با سبکی که در مرحله 6 انتخاب کردهاید قالببندی شده است) را با یک مجموعه منحصر به فرد از کاراکترها ($#$) مقدمه کنید.
- روی Replace All کلیک کنید.
- در کادر Find What $#$^w را وارد کنید. این مشخص میکند که میخواهید کاراکترهای منحصربهفردی را که با هر فضای سفید دنبال میشوند، پیدا کنید. (این شامل فضاهای پیشرو شما می شود.)
- روی دکمه No Formatting کلیک کنید.
- هر چیزی را در کادر Replace With حذف کنید.
- روی Replace All کلیک کنید.
- در کادر Find What $#$ را وارد کنید. این مشخص می کند که می خواهید شخصیت های منحصر به فرد باقی مانده را پیدا کنید.
- روی Replace All کلیک کنید.
در صورت تمایل می توانید از یک ماکرو نیز برای حذف فضاهای پیشرو استفاده کنید. تنها کاری که ماکرو باید انجام دهد این است که از تمام سلولهای یک جدول عبور کرده و فضاهای اصلی را حذف کنید:
Sub DeleteCellLeadingSpace() Dim aCell As Cell Dim aRow As Row Dim cText As String If Selection.Information(wdWithInTable) Then For Each aRow In Selection.Tables(1).Rows For Each aCell In aRow.Cells cText = aCell.Range.Text cText = LTrim(cText) aCell.Range.Text = Left(cText, Len(cText) - 2) Next aCell Next aRow Else MsgBox "Insertion point must be in a table." End If End Sub
توجه داشته باشید که وقتی این ماکرو اطلاعات را به سلول (از متغیر cText) برمیگرداند، فقط همه چیز را به جز دو کاراکتر آخر باز میگرداند. اگر این کار را انجام ندهید، در نهایت با یک بازگشت سخت اضافی در هر سلول از جدول مواجه خواهید شد.