سلام دوست عزیز
بسیار ممنونم از راهنمایی تون
یه مسئله گنگ برام باقی مونده. شما در اولین یادداشتی که اینجا گذاشتین، عنوان کردین: اگه به فایل word دسترسی دارین ازreplace استفاده کنید.
داشتن فایل word چه لزومی داره وقتی میشه فایل html رو با ورد باز و ادیت کرد؟
فایل html معادل نظیر به نظیر فایل doc نیست، چون فرمت html تو نمایش متن خیلی محدود تره، گفتم شاید منبع
اصلی متن یک فایل word باشه.
و یه مشکل جدید:
زمانی که از کد برای تبدیل اعداد از فارسی به اینگیلیش استفاده می کنم، یک سری از اعداد همچنان فارسی باقی می مونن و عده ای اصلاح پذیرن. لطفا به فایل پیوست شده ام نگاهی بندازین و کمکم کنین.
خیلی مرسی دارم از شما.
دلیلش اینه که اون اعداد فارسی حقیقتا کاراکتر های Unicode عربی هستند، یعنی ٠١٢٣٤٥٦٧٨٩ که کلا ربطی به
کاراکتر های 0123456789 ندارند. Microsoft Word این کاراکتر ها رو به عنوان عدد تفسیر نمی کنه و در نتیجه با اون
کد #^ که برای پیدا کردن اعداد استفاده می کردیم پیدا نمی شوند. راه حل اینه که ابتدا این 10 کاراکتر رقم عربی رو
دونه دونه به رقم انگلیسی تبدیل کنیم.
یکبار Find & Replace برای تبدیل تمامی ٠ ها به 0 ، یکبار هم برای تبدیل تمامی ١ ها به 1 و ...
یعنی جمعا باید 10 بار Find & Replace کرد. کار مسخره ای یه، خوشبختانه به کمک یک ماکرو اینکار خیلی ساده میشه :
کد:
[B][COLOR="Blue"]Sub Macro1()[/COLOR][/B]
Dim i As Long
For i = 0 To 9
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ChrW(1632 + i)
.Replacement.Text = ChrW(48 + i)
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next i
[B][COLOR="Blue"]End Sub[/COLOR][/B]
برای اجرا کردن این ماکرو در منوی Microsoft Word روی دکمه دایره ای سمت چپ بالا کلیک کرده و Word Options
را انتخاب کنید. حالا در بخش Popular تیک گزینه Show Developer tab in the Ribbon رو بزنید و OK کنید.
حالا همواره در منوی بالای Microsoft Word بخش Developer مشاهده می شود. آن بخش را انتخاب کنید.
روی آیکون Macros کلیک کنید. به عنوان نام ماکرو عبارتی مثل Macro1 رو بنویسید و روی دکمه Create کلیک کنید.
حالا کد بالا را کپی کرده و در کد ماکرو جایگزین کنید. اکنون مجددا منوی Macro انتخاب کرده و روی Macro1 کلیک کنید
و با دکمه Run اجرایش کنید. حالا می توانید مجددا با Find & Replace عبارت #^ (اعداد) را به &^h^ (انگلیسی)
تغییر دهید.