זיהוי אופטורי גודל באקסל
-
@מתמחה-במחשבים
לא כל כך הבנתי את הבעיה שלך, אז נעשה פה קצת סדר, ואני אסביר בדיוק את התנהגות אקסל בנוגע לכיווני ה</>, אם אח"כ יש לך עדיין בעיה, תשאל שוב.הקדמה
כאשר מדברים על טקסט, יש להבחין בין התוכן הלוגי לבין הייצוג החזותי.
התוכן הלוגי מורכב ממספרים, כאשר כל מספר מייצג תו אחר,
הייצוג החזותי, מורכב מצורות שונות שרואים על המסך
לדוגמה, אתה יכול לראות על המסךבּבּ
וזה נראה לך כמו 2 תווים - פעמיים בי"ת דגושה. אבל זה הייצוג החזותי, אבל מבחינת התוכן הלוגי יש כאן שלוש תווים, 1. בי"ת רפה 2. דגש 3. בי"ת דגושה. (תבדוק...)ובחזרה לעניננו,
יש לכל אחד על המקלדת 2 כפתורים
1.
2.
(מעכשיו נקרא לתמונה הראשונה "כפתור1" ולשניה "כפתור2", אני בדוקא משתמש במספרים ותמונות כדי למנוע בלבולים, כמו שנראה בהמשך)
יש גם 2 תווים שכפתורים אלו מייצגים.
התווים האלו יש להם את המספרים: 60 ו-62 (זה במספרים רגילים, ובמספרים הקסדצימליים:3C
ו-3E
)איזה תו שייך לכל כפתור?
אז ככה,
כאשר המקלדת בשפה עם כיוון ימין לשמאל (RTL), אז "כפתור1" מקליד את התו שערכו 60 ו"כפתור2" מקליד את התו שמספרו 62.
מאידך, כאשר המקלדת במצב LTR (שפה שכיוונו שמאל לימין) אז המצב הפוך, "כפתור1" מקליד את התו שערכו 62 ו"כפתור2" מקליד את התו שמספרו 60.עד כאן דיברנו על התוכן הלוגי שהכפתור מקליד.
ואיך נראה הייצוג החזותי של כל אחד מתווים אלו?
עכשיו הדברים מסתבכים קצת...
זה שוב תלוי...אם התווים מוצגים בקטע שכיוונו RTL (ימין לשמאל) אז התו שמספרו 60 נראה כך:
<
והתו שמספרו 62 נראה כך:
>
אם, אבל, מדובר בקטע שכיוונו משמאל לימין, אז המצב בדיוק הפוך...
התו שמספרו 60 נראה כך:
>
והתו שמספרו 62 נראה כך:
<
עכשיו,
מה קובע את כיוון הקטע?
אז ככה,
אין כללים ברורים בזה.
יש תוכנות כמו וורד ששמים את הכיוון במאפיין של הקטע, לכל קטע יש כיוון מפורש לפי כללים מסויימים, כמו שפת המקלדת, ושפת ברירת המחדל של התוכנה.
יש מאידך תוכנות כמו notepad של ווינדוס (כתבן) שזו הגדרה בתוכנה - או שהוא מציג את כל הקטעים כ-RTL או כ-LTR
ויש תוכנות שזה הולך לפי התו הראשון בקטע שיש לו כיוון ברור. כלומר, ישנם תווים ניטרליים (פסיקים ונקודה ורווחים וכו') שאין להם כיוון ברור, ויש תווים (כמו אותיות עבריות) שיש להם כיוון RTL, ואותיות אנגליות שיש להם כוון LTR, אז התו הראשון שיש לו כיוון ברור קובע את הכיוון של כל הקטעעכשיו, איך אקסל מתנהג?
אז ככה,
יש מאפיין לכל תא שקובע איך הוא יתנהג,
ויש שלוש אופציות:- תמיד ימין לשמאל
- תמיד שמאל לימין
- לפי התו הראשון שיש לו כיוון ברור
השליטה על מאפיין זה של התא הוא בלחיצה על לחצן זה:
דו"ק ותשכח שלפי זה מובן היטב התנהגות אקסל בכל נושא זה.
-
@yossiz וואו, איזה מאמר מושקע!
ביארת הדק היטב את ההבדלים ואת הבעיות הנובעות במקרים מסויימים...
אציין שלא מצאתי מאמר דומה בגוגל!
אך, צר לי לאכזבך...
כבר כתבתי שידוע לי מה גורם להבדליםאם אני מכניס את האופטור < כשאני על מצב עברית, זה שונה מהאופטור < שאני על מצב אנגלית.
וכן זה תלוי ביישור מימין לשמאלאדייק את שאלתי, האם ישנה דרך לדעת מה מספרו של האופרטור (60/62( בלי לשכתב שוב על בטוח,
שכן אני כותב נוסחאות על שגרה, ולא תמיד זוכר להקפיד לבדוק באיזה שפה ואיזה כיוון נמצאים כל הנוסחאות שקשורות אחת בשני, בכדי לשמור על אחידות.וללכת לבדוק מאיזה אופרטור נובעה השגיאה, זה טרחה בשבילי הרבה פעמים
-
@yossiz אמר בזיהוי אופטורי גודל באקסל:
אתה יכול לראות על המסך בּבּ וזה נראה לך כמו 2 תווים
איך לבדוק?
אם ניסיתי להדגיש את הטקסט, וללכת שמאלה כל תו, אזי הייתי אמור ללכת כאילו 2 תווים וחצי, אך בפועל הלכתי רק 2 תווים -
@yossiz
עלה בדעתי כעת לשנות את כפתורי המקלדת באמצעות תוכנה מתאימההאם אפשר לשנות רק את התווים כך שהתו 60 יהיה אותו תו בכל שפה?
אני לא מוצא איך לשנות את התווים הספציפים
-
@מתמחה-במחשבים
אני עדיין לא זכיתי להבין את שאלתך,
ננתח את דבריך,
כי נראה לי שזה בנוי על הנחות לא נכונות, וגם אתה לא מקפיד על שפה שאינה משתמעת לשתי פנים,@מתמחה-במחשבים אמר בזיהוי אופטורי גודל באקסל:
אם אני מכניס את האופטור (צ"ל אופורטור, מהמילה 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) }