» شروع شدن پاورقی هر صفحه از عدد یک ( یکشنبه بیست و چهارم شهریور 1392 )
» Caption چیست و نحوه درج Caption در ورد ( یکشنبه پنجم خرداد 1392 )
» نحوه درج مربع تیک دار (چک باکس - Check Box) و ضربدر دار در ورد ( چهارشنبه یکم خرداد 1392 )
» نوارابزار Forms در ورد 2007 کجاست؟ ( چهارشنبه یکم خرداد 1392 )
» درج شماره فصل (Chapter number) به صورت اتوماتیک در فایل ورد ( یکشنبه بیست و نهم اردیبهشت 1392 )
» تکرار سطر اول جدول در بقیه صفحات ادامه جدول ( شنبه بیست و هشتم اردیبهشت 1392 )
» استفاده از تمپلیت (Template) در ورد ( سه شنبه دهم اردیبهشت 1392 )
» جستجوی پیشرفته در ورد: استفاده از Wildcard ها ( دوشنبه نهم اردیبهشت 1392 )
» دانلود کیبورد مخصوص زبان فارسی TrayLayout 1.2 ( چهارشنبه چهارم اردیبهشت 1392 )
» تنظیم فاصله سطرها در ورد ( سه شنبه سوم اردیبهشت 1392 )
» چگونگی تایپ الف مقصوره در ورد ( یکشنبه یکم اردیبهشت 1392 )
» تایپ عبارت کسری با متن فارسی در ورد ( چهارشنبه بیست و هشتم فروردین 1392 )

فارسی کردن اعداد انگلیسی در ورد 2003 ، 2007 و 2010 با استفاده از ماکرو

دسته بندی : ماکروها


- در صورتی که در فایلی که دارید که می‌خواهید تمام اعداد آن فارسی شود و نیازی ندارید که هیچ عدد انگلیسی‌ای داشته باشد، بهتر است از راه ساده‌تر فارسی کردن اعداد که در لینک زیر توضیح داده شده است، استفاده کنید.


چگونه در ورد اعداد را فارسی کنیم

با استفاده از این روش شما تمامی اعداد را فارسی می‌بینید و فارسی چاپ می‌شوند (البته به غیر از معدود اعدادی که با استفاده از نرم‌افزارهای دیگر وارد ورد می‌شوند). اما در صورتی که شما فایلی دارید که یک سری اعداد انگلیسی دارد که می‌خواهید فارسی شوند و در فایلتان به اعداد انگلیسی هم نیاز دارید، از برنامه زیر استفاده کنید. این برنامه، اعداد انگلیسی را پیدا می‌کند، در حافظه خود ذخیره می‌‌کند، آنها را پاک می‌کند و به صورت فارسی همانجا تایپ  می‌کند.

 

مزایای این برنامه:

1- اعداد انگلیسی را حتی اگر اعشاری باشند، پیدا کرده و تشخیص می‌دهد. آنها را پاک می‌کند و عدد فارسی متناظر با آنها را با علامت ممیز تایپ می‌کند.

2- تیترهایی که در انگلیسی به صورت مثلاً 2.3.1 تایپ شده‌اند، به صورت فارسی 2-3-1 تایپ می‌کند.

3- اعداد فارسی را تشخیص می‌دهد و تغییری نمی‌دهد.

 

مراحل فارسی کردن اعداد

1- در ورد 2003 ، از منوی Tools بر روی دکمه Macro و از آنجا Record New Macro را بزنید. به جای این مراحل می‌توانید به ترتیب دکمه‌های Alt+T و M و R را تایپ کنید.

در ورد 2007 و 2010 هم می‌توانید به ترتیب دکمه‌های Alt+T و M و R را تایپ کنید یا در ورد 2007 از منوی View گروه Macros ، Record Macros را انتخاب کنید.

با این کار، کادر Record Macro باز می‌شود.

2- در قسمت Macro Name عبارت FarsiNum را تایپ کنید.

3- بر روی شکل کیبورد کلیک کنید یا دکمه Alt+K را فشار دهید. کادر Customize Keyboard باز می‌شود.

4- یک ترکیب از کیبورد برای ایجاد shortcut در قسمت Press new shortcut key فشار دهید. مثلاً Alt+Z . سپس دکمه Assign را بزنید و Close کنید.

5- یک تولبار کوچک با دو دکمه Stop recording و Pause recording باز می‌شود. بر روی دکمه Stop recording کلیک کنید. در صورتی که این تولبار را پیدا نمی‌کنید از دکمه‌های Alt+T و M و R استفاده کنید.

6- با استفاده از دکمه‌های Alt+T و M و M کادر Macros باز می‌شود. ماکروی FarsiNum را پیدا کنید و انتخاب کنید. دکمه Edit را بزنید.

7- تمام عبارتهای بین Sub fursinum() و End sub را پاک کنید و به جای آنها برنامه زیر عیناً بین این دو عبارت کپی پیست کنید.


    'Copyright Mohammad Pirhayati
    Dim Ch, Ch2, MyRange, MyNumber As String
    Dim Dot As Integer
    Dim IsItNumber As Boolean
    Dim EmptyRange As Range
    IsItNumber = True
    Dot = 0
    With Selection.Find
        Do
            .ClearFormatting
            .Execute FindText:="^#", Forward:=True, Wrap:=wdFindAsk
        Loop While (Selection.LanguageID = 1065 And Selection.Find.Found = True)
    End With
    Selection.MoveEnd Unit:=wdCharacter, Count:=-1
    Do
        If Ch = "." Then
            Dot = Dot + 1
            Selection.MoveEnd Unit:=wdCharacter, Count:=1
            Ch2 = ActiveDocument.Range(Start:=Selection.End, End:=Selection.End + 1)
                If (Ch2 = "1" Or Ch2 = "2" Or Ch2 = "3" Or Ch2 = "4" Or Ch2 = "5" Or Ch2 = "6" Or Ch2 = "7" Or Ch2 = "8" Or Ch2 = "9" Or Ch2 = "0") Then
                    IsItNumber = True
                Else
                    IsItNumber = False
                    Selection.MoveEnd Unit:=wdCharacter, Count:=-2
                End If
        End If
        Selection.MoveEnd Unit:=wdCharacter, Count:=1
        Ch = ActiveDocument.Range(Start:=Selection.End, End:=Selection.End + 1)
    Loop While (IsItNumber = "false" Or Ch = "1" Or Ch = "2" Or Ch = "3" Or Ch = "4" Or Ch = "5" Or Ch = "6" Or Ch = "7" Or Ch = "8" Or Ch = "9" Or Ch = "0" Or Ch = "." Or Ch = ",")
    MyRange = ActiveDocument.Range(Start:=Selection.Start, End:=Selection.End)
    MyNumber = MyRange
    Selection.Delete
    Application.Keyboard (1065)
    Selection.LanguageID = 1065
    Set EmptyRange = Selection.Range
    EmptyRange.Start = Selection.Start
    Selection.TypeText Text:="ا"
    EmptyRange.End = Selection.End
    If (Dot > 0) Then
        Spl = Split(MyRange, ".")
        If (Dot = 1) Then
            Selection.TypeText Text:=Spl(1) & "/" & Spl(0)
        Else
            For i = 0 To (Dot - 1)
                Selection.TypeText Text:=Spl(i) & "-"
            Next
            Selection.TypeText Text:=Spl(Dot)
        End If
    Else
        Selection.TypeText Text:=MyNumber
    End If
EmptyRange.Text = ""

8- Ctrl+s را بزنید تا برنامه save شود و Mircosfot Visual Basic را ببندید.

9- مراحل درست کردن ماکرو تمام شد. حال اگر در برنامه وردتان دکمه ترکیبی Alt+Z را بزنید، اولین عدد انگلیسی فایلتان را پیدا می‌کند، پاک می‌کند و آن را به فارسی تایپ می‌کنید.

فراموش نکنید که اگر از این برنامه استفاده کردید، حتماً نظر بگذارید و اگر ایراد و اشکالی دارد، بنویسید تا بتوانم آن را کاملتر کنم. در ضمن اگر در فایل وردتان از Field های اتوماتیک استفاده کرده‌اید از این برنامه برای فارسی کردن آنها استفاده نکنید.




به سوالات مطرح شده در ایمیل یا به صورت نظر خصوصی پاسخ داده نمی شود.
با دادن رأی، ما را در ادامه این راه و هر چه پربارتر کردن این وبلاگ یاری نمائید.