اکثر برنامه های سرویس گیرنده ایمیل - به ویژه آنهایی که از متن ساده به جای HTML استفاده می کنند - به طور خودکار هر خط ایمیل را با 70 یا 72 کاراکتر "شکستن" می کنند. خوشبختانه، آنها معمولاً یک خط را در وسط یک کلمه نمیشکنند، بلکه این کار را در ابتدای کلمه انجام میدهند که به علامت 70 یا 72 کاراکتر میرسد.
متأسفانه، این می تواند اثرات نامطلوبی بر ایمیل هایی که در Word می نویسید داشته باشد. برخی از خطوط شما، وقتی توسط گیرنده شما مشاهده می شود، می توانند عجیب به نظر برسند، در مکان های کمتر از حد مطلوب شکسته می شوند و به طور کلی بسیار بد بو به نظر می رسند. البته راه حل این است که با رسیدن به محل مناسب خط، هر خط را بشکنید. به این ترتیب می توانید پیش از موعد کنترل کنید که گیرنده پیام شما را چگونه می بیند.
در صورت تمایل می توانید این کار را به صورت دستی و با تنظیم حاشیه پیام خود به گونه ای انجام دهید که تنها 7 یا 7.2 اینچ فضا به صورت افقی وجود داشته باشد. سپس از یک فونت 12 نقطه ای monospace مانند Courier برای تایپ پیام استفاده می کنید. هنگامی که کلمه ای به خط بعدی می رسد، به سادگی به ابتدای کلمه بازگشته و کلید Enter را فشار دهید .
این ممکن است خیلی سریع قدیمی شود، حتی اگر فقط مقدار متوسطی ایمیل ارسال کنید. راه حل بهتر این است که به Word اجازه دهید تا استراحت ها را برای شما انجام دهد، اما به نظر نمی رسد چنین قابلیتی در Word وجود داشته باشد. (شما می توانید گزینه های خود را در Outlook یا Outlook Express تنظیم کنید تا به طور خودکار خطوط را برای شما بشکند، اما این کنترل به اندازه انجام مستقیم آن در Word به شما نمی دهد.)
این ما را به قلمرو کلان می رساند. میتوانید از ماکرو زیر برای بررسی سند فعلی استفاده کنید و بهطور خودکار هر پاراگراف را «برش دهید» بهطوریکه هیچ خطی بیش از ۷۰ کاراکتر طول نداشته باشد.
Sub ChopItUp()
Dim DocThis As Document, docThat As Document
Dim sParRaw As String
Dim iParCount As Integer, iParOut As Integer
Dim J As Long, X As Integer
Dim iLineWidth As Integer
Dim sLeft As String, sRight As String
Dim sTemp As String
iLineWidth = 70
Set DocThis = ActiveDocument
Documents.Add
Set docThat = ActiveDocument
DocThis.Activate
iParCount = DocThis.Paragraphs.Count
iParOut = 0
For J = 1 To iParCount
sParRaw = DocThis.Paragraphs(J).Range.Text
If Right(sParRaw, 1) = Chr(13) Then
sParRaw = Left(sParRaw, Len(sParRaw) - 1)
End If
sRight = sParRaw
If Len(sRight) > iLineWidth Then
While Len(sRight) > iLineWidth
sLeft = Left(sRight, iLineWidth)
sRight = Mid(sRight, iLineWidth + 1)
flgDoIt = True
If Left(sRight, 1) = " " Then
sRight = Mid(sRight, 2)
flgDoIt = False
End If
If Right(sLeft, 1) = " " Then
sLeft = Left(sLeft, Len(sLeft) - 1)
flgDoIt = False
End If
If flgDoIt Then
X = InStr(LTrim(sLeft), " ")
If X > 0 Then
sTemp = ""
While Right(sLeft, 1) <> " "
sTemp = Right(sLeft, 1) & sTemp
sLeft = Left(sLeft, Len(sLeft) - 1)
If Len(sLeft) = 0 Then
sLeft = sTemp & " "
sTemp = ""
End If
Wend
sRight = sTemp & sRight
End If
sLeft = Trim(sLeft)
End If
docThat.Paragraphs.Add
docThat.Paragraphs(docThat.Paragraphs.Count).Range = sLeft
sLeft = ""
sRight = Trim(sRight)
Wend
End If
docThat.Paragraphs.Add
docThat.Paragraphs(docThat.Paragraphs.Count).Range = sRight
Next J
End Sub
وقتی این ماکرو را اجرا میکنید، یک سند کاملاً جدید باز میکند و اطلاعات سند قدیمی را در آن کپی میکند و مطمئن میشود که هر خط بیش از 70 کاراکتر نباشد. سند جدید حاوی هیچ قالب بندی نخواهد بود. (از آنجایی که ایمیل متن ساده را کنار هم قرار می دهید، این نباید مشکلی ایجاد کند.) اگر عرض خط متفاوتی می خواهید، تنها کاری که باید انجام دهید این است که مقدار اختصاص داده شده به iLineWidth را در ماکرو تغییر دهید.