זיהוי אופטורי גודל באקסל
-
@מתמחה-במחשבים
אני עדיין לא זכיתי להבין את שאלתך,
ננתח את דבריך,
כי נראה לי שזה בנוי על הנחות לא נכונות, וגם אתה לא מקפיד על שפה שאינה משתמעת לשתי פנים,@מתמחה-במחשבים אמר בזיהוי אופטורי גודל באקסל:
אם אני מכניס את האופטור (צ"ל אופורטור, מהמילה operator) < כשאני על מצב עברית, זה שונה מהאופטור < שאני על מצב אנגלית.
יש לי בעיה משפט זה:
כאשר אתה כותבאופטור <
אני לא יודע אם אתה מתכוון לכפתור במקלדת או לתו מסויים (ואם כן לאיזה?) או לייצוג חזותי מסויימת. בגלל זה הקפדתי בדברי להבחין בין שלשת הדברים.וכן זה תלוי ביישור מימין לשמאל
זה לא נכון, היישור לא מעלה ולא מוריד. הכיוון הוא הקובע. (אולי זה מה שהתכוונת?)
האם ישנה דרך לדעת מה מספרו של האופרטור (60/62( בלי לשכתב שוב על בטוח
כן, ודאי,
אם קיימת מה ש @yossiz אמר בזיהוי אופטורי גודל באקסל:דו"ק ותשכח
אז תוכל לדעת לפי הכללים הנ"ל ולפי הכיוון של הייצוג החזותי של התו, ומאפיין הכיוון של התא.
העצה הפשוטה הוא לבחור את כל התאים ולהגדיר את כולם עם כיוון אחד (או RTL או LTR)גם לא כל כך הבנתי איפה כל זה נוגע, כי עד כמה שאני רואה, כל הכללים האלה תקפים בתא שיש לו תוכן טקסטואלי אבל בנוסחה תמיד הייצוג הוא שמאל לימין, לכן הכיוון שאתה רואה במסך הוא הקובע
התמונה שהבאת הוא לא נוסחה, אאל"ט -
@מתמחה-במחשבים אמר בזיהוי אופטורי גודל באקסל:
איך לבדוק?
הכי קל להעתיק לוורד ואז להדגיש וכו' כמו שנסית בדפדפן
אם ניסיתי להדגיש את הטקסט, וללכת שמאלה כל תו, אזי הייתי אמור ללכת כאילו 2 תווים וחצי, אך בפועל הלכתי רק 2 תווים
זה החלטה של כל תוכנה לעצמה איך להתנהג, ואי אפשר להביא ראיה מכרום
-
@מתמחה-במחשבים אמר בזיהוי אופטורי גודל באקסל:
האם אפשר לשנות רק את התווים כך שהתו 60 יהיה אותו תו בכל שפה?
לא מובן לי השאלה, תו 60 זה תו 60 בכל שפה שהיא
-
@yossiz
הבנתי ממך שבאנגלית תו 60 ממוקם איפה שהאות ץ, ובעברית איפה שהאות ת.
אני רוצה לשנות שגם בעברית זה יהיה ממוקם איפה שהאות ץהתוכנה שיש לי זה keyTweak, ואין שם הבחנה של תווים בעברית ותווים באנגלית (או שאני לא יודע איך להשתמש בתוכנה)
-
@מתמחה-במחשבים אוקיי עכשיו הבנתי. (לא דייקת בפעם הראשון בנוסח השאלה... צריך תמיד להבחין בין תווים (מספרים בזכרון המחשב), כפתורים במקלדת, וצורות במסך (גליפים בלע"ז))
@מתמחה-במחשבים אמר בזיהוי אופטורי גודל באקסל:
אני רוצה לשנות שגם בעברית זה יהיה ממוקם איפה שהאות ץ
אתה בטוח שזה רעיון טוב?
זה יגרום שאם תכתוב במקלדת עברית<משהו>
זה יצא>משהו<
-
@מתמחה-במחשבים אמר בזיהוי אופטורי גודל באקסל:
נזכרתי שבזמנו קראתי על הפריסה החדשה של המקלדת עברית, שממקם סימני פיסוק באופן זהה לאנגלית
מעניין
אני לא מכיר את זה, אבל מהסתכלות מהירה (וכן מסברא) לא נראה לי שיעזור לזה -
@מתמחה-במחשבים אמר בזיהוי אופטורי גודל באקסל:
@yossiz איך ראית את זה?
הם לא מזכירים את ה
<
ו->
זה מאד מגוחך, אבל הפסיק והנקודה הם זהים בין השפות, אבל ה< וה> הם שונים
לא מגוחך בכלל לדעתי (וזה מה שהתכוונתי שגם מסברא זה כך),
יש צפי שהתמונה על הכפתור ייצג את הגליף שיצא על המסך,
בד"כ משתמשים במקלדת עברית כאשר כיוון הקטע הוא ימין לשמאל,
מכיון שבקטע ימין לשמאל התו שמספרו 60 נראה כך: < ממילא הכפתור שעליו צורה זו מקליד תו זה.דרך אגב, כל הנושא הזה הוא גם בתווים
[]{}()
-
@yossiz
ולכן את הכפתור ה'פותח' מיקמו לפי הכיוון כך שבעברית הפותח הוא מימין לסוגר, ובאנגלית הפותח הוא משמאל לסוגר(למרות לפי טעמי האישי הייתי מעדיף שבעברית הפותח יהיה משמאל לסוגר, שהרי אני לא מקליד לפי סדר הא"ב (שלא קיים בכלל), אלא לפי תדירות הכפתורים (באידיש, ובכלל לא דומה לתדירות של האותיות בעברית), אז למה הפותח והסוגר צריך להיות לפי כיוון הטקסט?, כמו שהתרגלתי שא' זה פה וב' זה שם, וכמו שמיקמו את הכפתור של הפסיק ושל הניקוד בהתאם לאנגלית, כך ימקמו הכפתורים הפותחים והסוגרים בהתאם לאנגלית)
-
@מתמחה-במחשבים יש לי סקריפט בשבילך שיפתור את הבעיה
זה גורם שבתוך אקסל המקשים < ו-> יתנהגו בעברית כמו באנגלית
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) }