دیوید یک فرم در Word ایجاد کرد. هنگامی که او داده ها را برای یک فرم صادر می کند، باید یک خط طولانی اطلاعات جدا شده با کاما (CSV) دریافت کند. متأسفانه محتوای برخی از فیلدها دارای بازگشتی است. این بدان معنی است که او هر بار که این اتفاق می افتد یک خط جدید در CSV دریافت می کند. دیوید در مورد بهترین راه برای مدیریت این وضعیت شگفت زده می شود.
چند راه وجود دارد که می توانید با این وضعیت کنار بیایید. اولین رویکرد بالقوه ایجاد یک ماکرو است که هر زمان که یک کنترل فرم خارج می شود اجرا می شود. این ماکرو را می توان به فیلدهای فرم متن گره زد تا محتویات فیلدها مورد بررسی قرار گیرد و با کاراکترهای مختلف، مانند فاصله، جایگزین شود. در اینجا نمونه ای از چنین ماکروهایی آورده شده است:
Sub RemoveReturns() Dim sTemp as String sTemp = ActiveDocument.FormFields("Text1").Result sTemp = Replace(sTemp, vbCrLf, " ") ActiveDocument.FormFields("Text1").Result = sTemp End Sub
تمام کاری که ماکرو انجام می دهد این است که محتویات فیلد فرم را بگیرد، برگردانده ها (vbCrLf) را با فاصله ها جایگزین کند و محتویات را دوباره در قسمت فرم قرار دهد. می توانید ماکرو را به شکل زیر به فیلد فرم گره بزنید:
شکل 1. کادر محاوره ای گزینه های فیلد فرم متن.
- روی فیلد کلیک راست کنید. Word یک منوی زمینه را نمایش می دهد.
- از منوی Context گزینه Properties را انتخاب کنید. Word کادر محاوره ای گزینه های فیلد فرم متن را نمایش می دهد. (شکل 1 را ببینید.)
- در بخش Run Macro On، از لیست کشویی Exit برای انتخاب ماکرویی که می خواهید در هنگام خروج از فیلد فرم اجرا شود، استفاده کنید.
- روی OK کلیک کنید.
روش دیگر خلاص شدن از شر کاراکترهای برگشتی پس از ایجاد فایل CSV (با صادرات داده های فرم) است. فایل CSV متن ساده است، به این معنی که می توان آن را در یک Word یا یک ویرایشگر متن بارگذاری کرد. سپس می توانید از ویژگی های Find and Replace برنامه برای جستجوی برگردانده ها و جایگزینی آنها با فاصله استفاده کنید. با این حال، در انجام این کار، باید مراقب دو چیز باشید. ابتدا، باید مطمئن شوید که همه برگرداندهها را جایگزین نمیکنید—شما میخواهید آنهایی که در انتهای هر خط در CSV هستند به همان شکلی که هستند باقی بمانند. دوم، باید مطمئن شوید که سند CSV را بدون هیچ گونه قالببندی، یعنی به عنوان یک فایل متنی ساده، ذخیره کردهاید.