กฏกติกาของฟอรัม : แจ้งชื่อและนามสกุลจริงในการสมัครสมาชิก--ตั้งชื่อกระทู้ให้ตรงกับปัญหาที่ถาม--เขียนอธิบายคำถามทั้งในตัวกระทู้และในแฟ้มแนบให้ละเอียด--ห้ามใช้คำว่า อ่ะ คับ หรือคำผวน หรือคำที่ไม่มีในพจนานุกรมไทย--โปรดตั้งชื่อแฟ้มให้สื่อถึงปัญหาที่ถาม--อย่าระบุชื่อให้คนใดคนหนึ่งเป็นผู้ตอบ--งดให้ความร่วมมือหรือช่วยตอบคำถาม กระทู้ที่ละเมิดกฏกติกาของฟอรัม
Results 1 to 8 of 8

Thread: สลับการพิมภาษาไทยและอังกฤษในแต่ละ cell โดยอัตโนมัติ

  1. #1

    Join Date
    Nov 2007
    Job
    นิสิต
    Version
    Exel2003
    Posts
    15

    Default สลับการพิมภาษาไทยและอังกฤษในแต่ละ cell โดยอัตโนมัติ

    ผมต้องการที่จะให้ตัว work sheet ที่ใช้งานมีการสลับการพิมภาษาไทยและภาษาอังกฤษโดยอัตโนมัติ

    ตัวอย่างเช่น เมื่อผมเลือก cell A1 ที่ task bar แสดงว่า ภาษาที่พิมเป็นภาษาไทย หลังจากผมพิมข้อความลงไปใน cell A1 ก็แสดงผลเป็นภาษาไทย แต่เมื่อผมเปลี่ยนไปเลือก cell B1 ที่ task bar แสดงว่า ภาษาที่พิมเป็นภาษาอังกฤษ หลังจากผมพิมข้อความลงไปใน cell B1 ก็แสดงผลเป็นภาษาอังกฤษ

    ขอคำแนะนำด้วยครับ

    ขอบคุณครับ

    embarus


  2. #2
    Excel Expert Volunteer อรวีร์'s Avatar
    Join Date
    May 2007
    Location
    นนทบุรี&ปทุมธานี
    Job
    IT Expert
    Version
    Excel 2003/2007 & Windows XP
    Posts
    1,528
    Blog Entries
    3

    Icon7

    ลองแกะ Code ตัวอย่างในแฟ้มแนบค่ะ

  3. #3

    Join Date
    Nov 2007
    Job
    นิสิต
    Version
    Exel2003
    Posts
    15

    Default จะระบุคำสั่งให้ทำงานเฉพาะ column หรือ cell ได้อย่างไร

    ขอบคุณมากครับคุณอรวีร์ แต่ผมไม่เข้าใจ code เลยครับ เหมือนกับว่ามีการอ้างอิงการใช้คำสั่งกับสีของพี้น cell จริงๆ แล้วผมอยากรู้ว่า จะนำคำสั่งนี้ไปใช้งานเฉพาะบาง column หรือ cell ได้อย่างไร
    ตัวอย่างเช่น ที่ cell A1 เป็นภาษาอังกฤษ เมื่อไปเลือก cell A2 เปลี่ยนเป็นภาษาไทย
    หรือ ที่ column A เป็นภาษาอังกฤษ เมื่อไปเลือก column B เปลี่ยนเป็นภาษาไทย

    จะระบุคำสั่งให้ทำงานเฉพาะ column หรือ cell ได้อย่างไร

  4. #4
    Excel Expert Volunteer อรวีร์'s Avatar
    Join Date
    May 2007
    Location
    นนทบุรี&ปทุมธานี
    Job
    IT Expert
    Version
    Excel 2003/2007 & Windows XP
    Posts
    1,528
    Blog Entries
    3

    Icon7

    ลองดูในแฟ้มแนบค่ะ
    เปลี่ยน Worksheet_SelectionChange( ) เป็น
    Code:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Application.Intersect(Range("A1:A1000"), Target) Is Nothing Then Set_Keyb_Thai
    If Not Application.Intersect(Range("B1:B1000"), Target) Is Nothing Then Set_Keyb_Eng
    End Sub

  5. #5

    Join Date
    May 2007
    Location
    Am Graben 9, 37079 Göttingen
    Job
    Student Universität Hannover
    Version
    Excel 03 SP2 / Windows XP SP2
    Posts
    21

    Default

    สอบถามเพิ่มหน่อยครับ

    ถ้าไม่ใช่คีย์บอร์ด สองภาษานี้ เช่น ภาษาเยอรมัน จะหาคำสั่งได้ที่ไหนครับ
    (หมายถึง Sub_KeyB_German ทำนองนี้หนะครับ)

  6. #6
    Excel Expert Volunteer อรวีร์'s Avatar
    Join Date
    May 2007
    Location
    นนทบุรี&ปทุมธานี
    Job
    IT Expert
    Version
    Excel 2003/2007 & Windows XP
    Posts
    1,528
    Blog Entries
    3

    Icon7

    ลองดูเรื่อง Language Identifier ที่นี่ค่ะ
    http://msdn.microsoft.com/en-us/libr...94(VS.85).aspx
    แล้วค้นคำว่า German

    และดู code นี่ค่ะ
    Code:
    Const LANG_EN_US    As String = "00000409"
    Const LANG_TH_STD   As String = "0000041e"
    Const LANG_DE_STD   As String = "00000c07"
    Const KLF_ACTIVATE  As Long = &H1
    Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long
     
    Sub Set_Keyb_Thai()
    strLocId = String(KL_NAMELENGTH, 0)
    strLocId = LoadKeyboardLayout((LANG_TH_STD & Chr(0)), KLF_ACTIVATE)
    End Sub
     
    Sub Set_Keyb_Eng()
    strLocId = String(KL_NAMELENGTH, 0)
    strLocId = LoadKeyboardLayout((LANG_EN_US & Chr(0)), KLF_ACTIVATE)
    End Sub
     
    Sub Set_Keyb_German()
    strLocId = String(KL_NAMELENGTH, 0)
    strLocId = LoadKeyboardLayout((LANG_DE_STD & Chr(0)), KLF_ACTIVATE)
    End Sub

  7. #7

    Join Date
    May 2007
    Location
    Am Graben 9, 37079 Göttingen
    Job
    Student Universität Hannover
    Version
    Excel 03 SP2 / Windows XP SP2
    Posts
    21

    Default

    ขอบคุณครับ ที่แท้ก็มีอีกโมดุลซ่อนอยู่ ผมนี่พลาดไปจริงๆ ไม่ทันได้ดูให้ครบ เลยนึกว่ามีเป็นฟังก์ชันสำเร็จรูปหนะครับ

  8. #8

    Join Date
    Nov 2007
    Job
    นิสิต
    Version
    Exel2003
    Posts
    15

    Default ขอบคุณมากๆ

    ขอบคุณมากเลยครับคุณอรวีร์ ความช่วยเหลือของคุณทำให้งานผมไปได้ไวมาก ขอบคุณอีกครั้งนะครับ

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •