ניווט

    תחומים
    • הרשמה
    • התחברות
    • חיפוש
    • קטגוריות
    • פוסטים אחרונים
    • משתמשים
    • חיפוש
    • מקצועות
    חוקי הפורום

    שיתוף: סקריפט תיקון פריסת מקלדת למשתמשי אקסל

    תוכנה
    4
    37
    128
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגב כנושא
    התחבר בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • yossiz
      yossiz נערך לאחרונה על ידי yossiz

      תיאור הבעיה

      משתמשי אקסל משתמשים הרבה בתווים < ו-> בתוך נוסחאות
      כאשר מופעלת פריסת מקלדת עברי, הייעוד של המקשים layer1-5.pnglayer1-4.png מתהפך, כאשר המקש הימני מקליד את הפותח (או הסמל שמשמעותו בתוך נוסחה: "less than") והמקש השמאלי מקליד את הסוגר (או: הסמל שמשמעותו בתוך נוסחה "more than")
      בד"כ (בכתיבה רגילה של פרוזה, או יותר נכון, כאשר כיוון הקטע הוא מימין לשמאל) זה רצוי, כי הפותח והסוגר בעברית נראים הפוכים,
      הבעיה הוא שבנוסחאות באקסל, זה לא מה שרוצים.
      להסבר התופעה ב א ר י כ ו ת עיין כאן

      הפתרון

      סקריפט שמזהה אם החלון הפעיל הוא חלון אקסל, ובמקרה שכן, הוא מחליף את המקשים שגם בעברית הם יתנהגו כמו באנגלית

      קובץ EXE:
      Excel Keyboard Fix.exe

      [גירסא שמתקנת גם את התווים ( ו-)]:
      Excel Keyboard Fix.exe

      (אפשר לשים אותו בתיקיית ההפעלה בתפריט ההתחלה והוא ירוץ אוטומטי בשעת הפעלה)

      קוד המקור (בשפת AutoHotKey)

      #SingleInstance force
       
      KeyboardLayout_Hebrew := 0x40D040D
       
      #IfWinActive ahk_exe EXCEL.EXE
      >::
       
      hwnd := WinExist("A")
      currentKeyboardLayout := getKeyboardLayout(hwnd)
      if (currentKeyboardLayout = KeyboardLayout_Hebrew)
      {
      	Send <
      	return
      }
      send >
      return
       
      <::
       
      hwnd := WinExist("A")
      currentKeyboardLayout := getKeyboardLayout(hwnd)
      if (currentKeyboardLayout = KeyboardLayout_Hebrew)
      {
      	Send >
      	return
      }
      send <
      return
       
      ;gets the keyboard layout for window with specified hwnd
      getKeyboardLayout(hwnd, ByRef keyBoardLayout = "")
      {
          idThread := getWindowThreadProcessId(hwnd)
       
          keyboardLayout := DllCall("user32.dll\GetKeyboardLayout"
              , "uint", idThread, "uint")
       
          return keyboardLayout
      }
       
      getWindowThreadProcessId(hwnd)
      {
          return dllCall("user32\GetWindowThreadProcessId", "Uint", hwnd)
      }
      

      באגים ושיפורים

      נא לדווח על באגים ולהציע שיפורים באשכול זה.
      (משתמשי אקסל: האם לדעתכם יש צורך להוסיף קוד דומה עבור התווים ( ו-)?)

      קרדיט

      @מתמחה-במחשבים שהעלה את הבעיה כאן
      הקוד לזיהוי פריסת מקלדת מפה

      searchnicks 2 תגובות תגובה אחרונה תגובה ציטוט 9
      • searchnicks
        searchnicks @yossiz נערך לאחרונה על ידי

        @yossiz אמר בשיתוף: סקריפט תיקון פריסת מקלדת למשתמשי אקסל:

        (משתמשי אקסל: האם לדעתכם יש צורך להוסיף קוד דומה עבור התווים ( ו-)?)

        בתווים () במידה והוכנס הפוך, אז אקסל מתריע על כך ומציע תיקון (או שלא) בעת אישור הנוסחה, לכך לי לא הפריע אף פעם, הייתי מכניס ואקסל היה מתקן (או מתריע על נוסחה לא תקינה).
        לעומת זו, ב<> מבחינת אקסל, זה תקין, השאלה האם התכוונתי לגדול מ- או קטן מ-, וזה אקסל כבר לא יכול לשאול אותי למה התכוונתי...

        ליכט תגובה 1 תגובה אחרונה תגובה ציטוט 2
        • searchnicks
          searchnicks @yossiz נערך לאחרונה על ידי searchnicks

          @yossiz
          עובד לי היטב
          (נראה שמיקם את האנגלית איפה שהעברית, ולא הפוך)

          yossiz תגובה 1 תגובה אחרונה תגובה ציטוט 1
          • ליכט
            ליכט @searchnicks נערך לאחרונה על ידי

            @מתמחה-במחשבים אמר בשיתוף: סקריפט תיקון פריסת מקלדת למשתמשי אקסל:

            בתווים () במידה והוכנס הפוך, אז אקסל מתריע על כך ומציע תיקון (או שלא) בעת אישור הנוסחה

            לא תמיד.
            (אולי זה תלוי אם יש אחד או כמה)

            @yossiz לטעמי זה חשוב גם לסוגריים.
            השאלה אם לא ניתן לעשות א"ז בצורה של תוספת והרחבה לאקסל (כמו אקסל פלוס), שאז ניתן להגדיר שזה ייפתח אוטומטית בכל אקסל שנפתח ?

            yossiz תגובה 1 תגובה אחרונה תגובה ציטוט 2
            • yossiz
              yossiz @ליכט נערך לאחרונה על ידי

              @ליכט אמר בשיתוף: סקריפט תיקון פריסת מקלדת למשתמשי אקסל:

              לטעמי זה חשוב גם לסוגריים

              הוספתי למעלה ⏫

              השאלה אם לא ניתן לעשות א"ז בצורה של תוספת והרחבה לאקסל (כמו אקסל פלוס),

              זה יהיה הרבה יותר מורכב

              שאז ניתן להגדיר שזה ייפתח אוטומטית בכל אקסל שנפתח ?

              אפשר לשים את זה בתיקיית "הפעלה" בתפריט ההתחלה שירוץ אוטומטי בכל כניסה. (זה משפיע על המקלדת רק בתוך אקסל, כך שזה לא יפריע לתוכנות אחרות).

              ליכט תגובה 1 תגובה אחרונה תגובה ציטוט 1
              • Men770
                Men770 נערך לאחרונה על ידי

                @yossiz זה משבש את המקשים <> בפריסת אנגלית.

                yossiz searchnicks 2 תגובות תגובה אחרונה תגובה ציטוט 0
                • yossiz
                  yossiz @Men770 נערך לאחרונה על ידי

                  @Men770 אתה בטוח? אצלי לא...
                  יש לך מושג למה זה קורה?

                  תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • searchnicks
                    searchnicks @Men770 נערך לאחרונה על ידי

                    @Men770 מה הכוונה משבש?
                    זה המטרה, שמקשים בפריסת אנגלית ימוקמו מחדש כפי הפריסה בעברית

                    תגובה 1 תגובה אחרונה תגובה ציטוט 0
                    • yossiz
                      yossiz @searchnicks נערך לאחרונה על ידי

                      @מתמחה-במחשבים אמר בשיתוף: סקריפט תיקון פריסת מקלדת למשתמשי אקסל:

                      (נראה שמיקם את האנגלית איפה שהעברית, ולא הפוך)

                      @מתמחה-במחשבים אמר בשיתוף: סקריפט תיקון פריסת מקלדת למשתמשי אקסל:

                      זה המטרה, שמקשים בפריסת אנגלית ימוקמו מחדש כפי הפריסה בעברית

                      הפוך

                      searchnicks תגובה 1 תגובה אחרונה תגובה ציטוט 1
                      • searchnicks
                        searchnicks @yossiz נערך לאחרונה על ידי

                        @yossiz למה הפוך
                        אני רציתי שהמקשים של העברית ימוקמו איפה שהפריסה של אנגלית
                        כלומר שהסוגר יהיה לפני הפותח
                        אבל בתוכנה שלך כתבת הפוך
                        שהאנגלית יהיה לפי העברית
                        כלומר שהפותח של האנגלית יהיה מימין לסוגר (לא כמו שהיה עד עכשיו שהפותח האנגלי הוא משמאל לסוגר כפי כיוון הכתיבה)

                        לי לא משנה, זה רק עניין איפה להקליד

                        yossiz תגובה 1 תגובה אחרונה תגובה ציטוט 0
                        • yossiz
                          yossiz @searchnicks נערך לאחרונה על ידי

                          @מתמחה-במחשבים אמר בשיתוף: סקריפט תיקון פריסת מקלדת למשתמשי אקסל:

                          אני רציתי שהמקשים של העברית ימוקמו איפה שהפריסה של אנגלית
                          כלומר שהסוגר יהיה לפני הפותח
                          אבל בתוכנה שלך כתבת הפוך
                          שהאנגלית יהיה לפי העברית
                          כלומר שהפותח של האנגלית יהיה מימין לסוגר (לא כמו שהיה עד עכשיו שהפותח האנגלי הוא משמאל לסוגר כפי כיוון הכתיבה)

                          אחד משנינו מבולבל...
                          לא שיניתי כלום בפריסה האנגלי

                          searchnicks תגובה 1 תגובה אחרונה תגובה ציטוט 0
                          • ליכט
                            ליכט @yossiz נערך לאחרונה על ידי

                            @yossiz אמר בשיתוף: סקריפט תיקון פריסת מקלדת למשתמשי אקסל:

                            @ליכט אמר בשיתוף: סקריפט תיקון פריסת מקלדת למשתמשי אקסל:

                            לטעמי זה חשוב גם לסוגריים

                            הוספתי למעלה ⏫

                            תמחק גם את השורה בסוף (השאלה האם להוסיף גם לסוגריים)...

                            תגובה 1 תגובה אחרונה תגובה ציטוט 1
                            • searchnicks
                              searchnicks @yossiz נערך לאחרונה על ידי

                              @yossiz
                              a300cb1d-e1ea-4e9c-b35f-6fbc199aed57-image.png

                              yossiz תגובה 1 תגובה אחרונה תגובה ציטוט 1
                              • yossiz
                                yossiz @searchnicks נערך לאחרונה על ידי

                                @מתמחה-במחשבים ככל שאני מנסה, אני לא מצליח לשכפל את התוצאות שאתה מקבל.
                                (אפילו הוספתי ערכת שפה עברית ושיניתי את שפת התצוגה באקסל שלי לראות אם זה משפיע)

                                searchnicks תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                • searchnicks
                                  searchnicks @yossiz נערך לאחרונה על ידי

                                  @yossiz אצלך זה מופיע כל השורות בצורה הפוכה ?

                                  yossiz תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                  • yossiz
                                    yossiz @searchnicks נערך לאחרונה על ידי

                                    @מתמחה-במחשבים כן...
                                    53d2cd58-84bd-4827-b2a5-2e7b33f1c963-image.png
                                    אולי אחד משנינו לא יודע בין ימינו לשמאלו 🙂

                                    searchnicks תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                    • searchnicks
                                      searchnicks @yossiz נערך לאחרונה על ידי

                                      @yossiz היי, אל תרמוז...
                                      רוצה אפילו סרטון עם שימוש בלוח מקשים על המסך?

                                      yossiz 2 תגובות תגובה אחרונה תגובה ציטוט 0
                                      • yossiz
                                        yossiz @searchnicks נערך לאחרונה על ידי

                                        @מתמחה-במחשבים אין צורך, אני מאמין לך

                                        תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                        • yossiz
                                          yossiz @searchnicks נערך לאחרונה על ידי

                                          @מתמחה-במחשבים אתה יכול בבקשה להריץ את הסקריפט הזאת
                                          kblo.exe
                                          תריץ אותו,
                                          שנה פריסת מקלדת לעברית, אח"כ תלחץ F11, זה יקפיץ הודעה עם מזהה פריסת המקלדת.
                                          שנה פריסת מקלדת לאנגלית, שוב תלחץ F11, זה יקפיץ הודעה עם מזהה פריסת המקלדת.
                                          מה התוצאות?

                                          searchnicks Men770 2 תגובות תגובה אחרונה תגובה ציטוט 0
                                          • searchnicks
                                            searchnicks @yossiz נערך לאחרונה על ידי

                                            @yossiz תוכנה ניידת או התקנה?

                                            yossiz תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                            • yossiz
                                              yossiz @searchnicks נערך לאחרונה על ידי

                                              @מתמחה-במחשבים תוכנה ניידת (סקריפט AutoHotKey קצרה)
                                              אין שם משהו זדוני, קוד המקור:

                                              F11::
                                                SetFormat, Integer, H
                                                WinGet, WinID,, A
                                                ThreadID:=DllCall("GetWindowThreadProcessId", "UInt", WinID, "UInt", 0)
                                                InputLocaleID:=DllCall("GetKeyboardLayout", "UInt", ThreadID, "UInt")
                                                MsgBox, %InputLocaleID%
                                              Return
                                              
                                              searchnicks תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                              • Men770
                                                Men770 @yossiz נערך לאחרונה על ידי Men770

                                                @yossiz אצלי: עברית: 0xf03d040d
                                                אנגלית: 0x4090409

                                                תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                                • searchnicks
                                                  searchnicks @yossiz נערך לאחרונה על ידי

                                                  @yossiz סה"כ רציתי לדעת אם צריך לעשות לו אח"כ revo
                                                  שינוי לעברית
                                                  883960ac-36da-4d93-be75-f720f7e64259-image.png

                                                  שינוי לאנגלית
                                                  75ba44ba-6ec6-409d-8ab9-58c45b9bad2b-image.png

                                                  תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                                  • yossiz
                                                    yossiz נערך לאחרונה על ידי

                                                    @מתמחה-במחשבים @Men770 תודה
                                                    זה מסביר חצי מהחידה... למעשה הסקריפט לא היה אמור לעבוד בכלל...

                                                    searchnicks תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                                    • searchnicks
                                                      searchnicks @yossiz נערך לאחרונה על ידי

                                                      @yossiz כלומר?

                                                      yossiz תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                                      • yossiz
                                                        yossiz @searchnicks נערך לאחרונה על ידי

                                                        @מתמחה-במחשבים אני כתבתי את הסקריפט בהנחה שלכולם מזהה עברית הוא 0x40D040D כי ככה זה אצלי. אם יש לך מזהה אחרת זה לא היה אמור להשפיע כלל.

                                                        searchnicks Men770 2 תגובות תגובה אחרונה תגובה ציטוט 0
                                                        • searchnicks
                                                          searchnicks @yossiz נערך לאחרונה על ידי

                                                          @yossiz ממה נובע השינוי?
                                                          במחשב אחר יש לי שני עברית אחד שכתוב עברית ואחר שכתוב H3 (משהו כזה)

                                                          תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                                          • Men770
                                                            Men770 @yossiz נערך לאחרונה על ידי

                                                            @yossiz מה העברית שמותקנת אצלך? (מה השם שמוצג?)
                                                            מה הקוד של האנגלית אצלך?

                                                            yossiz תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                                            • yossiz
                                                              yossiz @Men770 נערך לאחרונה על ידי

                                                              @Men770
                                                              3bced485-b676-4285-a438-c777feea605c-image.png
                                                              קוד האנגלית אותו דבר כמו אצלכם

                                                              Men770 searchnicks 2 תגובות תגובה אחרונה תגובה ציטוט 0
                                                              • Men770
                                                                Men770 @yossiz נערך לאחרונה על ידי

                                                                @yossiz אם קוד האנגלית אותו דבר, במקום לבדוק אם זה עברית תבדוק אם זה לא אנגלית.

                                                                yossiz תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                                                • 1
                                                                • 2
                                                                • 1 / 2
                                                                • First post
                                                                  Last post
                                                                בא תתחבר לדף היומי!