تغییر خودکار زبان در ستون ها مختلف

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • Imanfy

    • 2011/07/16
    • 50
    • 56.00

    پرسش تغییر خودکار زبان در ستون ها مختلف

    با سلام خدمت کلیه اساتید محترم
    آیا راهی داره که در هنگام جابجایی بین ستونهای مختلف زبان تایپ به صورت خود کار تغییر پیدا کنه
    فرض کنید ستون A دارای اسامی انگلیسی و ستون B دارای اسامی فارسی ه و مجدد ستون C دارای اسامی انگلیسی ه
    راهی هست که زمانی که ما در حال پر کردن یک سطر هستیم صفحه کلید به صورت خودکار تغییر کنه و نیازی به تغییر دستی بین زبانهای فارسی و انگلیسی نباشه؟؟؟؟
    برخی از سایتها تونستم کدهایی پیدا کنم که متاسفانه درست کار نکرد یا من نتونستم درست ازشون استفاده کنم


    کد 1
    کد PHP:
    Sub multilanguageSC()
    Dim rngEng As RangerngPer As Range

    'Set ranges to check for each language.
    Set rngEng = ActiveSheet.Range("A:A")
    Set rngPer = ActiveSheet.Range("B:B")

    '
    Set spelling dictionary language to English (US).
    Application.SpellingOptions.DictLang =1033
    'Check spelling for designated English range.
    rngEng.CheckSpelling

    '
    Set spelling dictionary language to Persian(Farsi).
    Application.SpellingOptions.DictLang =1065
    'Check spelling for designated Persian range.
    rngPer.CheckSpelling

    '
    Set spelling dictionary back to default setting.
    Application.SpellingOptions.DictLang Application.LanguageSettings.LanguageID(msoLanguageIDUI)
    EndSub 
    کد 2
    Place this code in an independent Module module and name it mdl_Language
    کد PHP:
    Option Explicit
    Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As StringByVal flags As Long) As Long
    Enum ELanguage
        Fa      
    '' زبان فارسی
        En      
    '' زبان انگلیسی
    End 
    Enum

    Public 
    Sub Langauge(lang As ELanguage)
        
    Select Case lang
            
    Case ELanguage.Fa
                LoadKeyboardLayout 
    "00000429"1
            
    Case ELanguage.En
                LoadKeyboardLayout 
    "00000409"1
        End Select
    End Sub 
    ممنون میشم اگه دوستان کمک کنند
  • Amir Ghasemiyan

    • 2013/09/20
    • 4598
    • 100.00

    #2
    سلام دوست عزيز
    مثلا براي كد دومي كه گذاشتيد
    شما بايد يك كد در قسمت كدهاي شيت بنويسيد به اين صورت:

    کد:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Row = 3 Then
        Langauge (Fa)
    Else
        Langauge (En)
    End If
    End Sub
    مثلا من اينجا گفتم اگر شماره رديف 3 بود فارسي كن وگرنه انگليسي

    کامنت

    • Imanfy

      • 2011/07/16
      • 50
      • 56.00

      #3
      نوشته اصلی توسط Amir Ghasemiyan
      سلام دوست عزيز
      مثلا براي كد دومي كه گذاشتيد
      شما بايد يك كد در قسمت كدهاي شيت بنويسيد به اين صورت:

      کد:
      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Target.Row = 3 Then
          Langauge (Fa)
      Else
          Langauge (En)
      End If
      End Sub
      مثلا من اينجا گفتم اگر شماره رديف 3 بود فارسي كن وگرنه انگليسي
      سلام جناب قاسمیان
      وقت خوش
      میشه راهنمایی کنید جهت تعداد زیادی ستون باید چه کنم
      مثلا ستونهای C,U,AC,AD,AE,AF فارسی هستند و مابقی انگلیسی
      آیا باید در قسمت If Target.Row با استفاده از "," شماره ستونها رو نام ببریم؟

      کامنت

      • generalsamad
        مدير تالار توابع

        • 2014/06/22
        • 1496

        #4
        با سلام
        میتونید از این کد استفاده کنید
        کد PHP:
        If Target.Column Or Target.Column 21 Or Target.Column 29 Or Target.Column 30 Or Target.Column 31 Or Target.Column 32 Then 
        [CENTER]
        [SIGPIC][/SIGPIC]
        [/CENTER]

        کامنت

        • Amir Ghasemiyan

          • 2013/09/20
          • 4598
          • 100.00

          #5
          نوشته اصلی توسط Imanfy
          سلام جناب قاسمیان
          وقت خوش
          میشه راهنمایی کنید جهت تعداد زیادی ستون باید چه کنم
          مثلا ستونهای C,U,AC,AD,AE,AF فارسی هستند و مابقی انگلیسی
          آیا باید در قسمت If Target.Row با استفاده از "," شماره ستونها رو نام ببریم؟
          از تابع intersect کمک بگیرید. تو نت سرچ کنید روش استفادشو نوشته

          کامنت

          چند لحظه..