עזרה | קוד להסרת ' או " לפי התאמה אישית
-
שלום לכולם ושבוע טוב
אני כבר חצי שנה בערך שובר את הראש איך לעשות לי קוד שיקל עלי מבחינת ' או " מיותרים.
אסביר קודם את הבעיה ואח"כ את הדרך לפתרון שחשבתי ואלי גם לצלוח אותו בקוד vba בס"ד.הבעיה: יש לי מלא מסמכים בוורד שיש שם מלא " על סימנים של שו"ע ומשנ"ב וכדו' זה יכול להיות ' או " לדוגמא א', ב', י"א, י"ב, קט"ז, וכו'.
כעת אני רוצה להסיר את כל ה" של הסימנים והאותיות (כלומר כל הסימנים שמפנים לספר אחר אני רוצה להסיר) בקלות אמנם אם אני יסיר אותם באופן גורף אני מאבד מקומות בהם אני כן צריך את ה " כדוגמא י"א, יכול להיות גם סימן יא, גם אות י"א, וכדו', אבל יכול להיות גםיש אומרים
בר"ת.
בקיצור עבודת נמלים על מלא מסמכים למעלה מ 40,000,000 מילים ואין הצר שווה....הדרך לפתרון: בתחילה חשבתי על רעיון לעשות חיפוש החלף לכל הר"ת ולעשות החלפה ללא " ולעבור ע"ז 1 1 1 הבא או החלף מקל חלקית הבעיה בדרך זו שהוא גם מחזיר לי ר"ת כמו ז"א ויל"ב ואכמ"ל למיניהם שלעולם הם לא יכולים להיות סימנים.
לאחמ"כ חשבתי על דרך יותר קלה פשוט לעשות קוד של גימטריה ולהריץ בלוף בתוך קוד של החלפה בהתחלה א' ולעבור 1 1 עד שנגמר ואח"כ לשלוח לו את ב' וכו' עד איזה מספר שאני רוצה, כך אני מדלג על כל הר"ת שבוודאי אין יכולים להיות סימנים. ועדיין המלאכה מרובה כי אני צריך לזוז כל פעם עם העכבר ולהחליט על כל ר"ת אם כן או לא.
וגם שם יתכן בעיה כמו סימן רצ"ח שיתכן והוא מובא ברח"צ כך שהקוד של הגימטריה מפספס אותו.השאלות שלי הם כדלהלן:
א. האם יש דרך להקל יותר ואיזה עוד " אני יכול לדלג עליהם ע"י קוד?
ב. האם יש אפשרות ליצור אוטומציה תוך כדי ריצת הקוד כלומר שאם אני יקיש את המספר 0 הוא ימחוק את הר"ת ואם אני יקיש 1 הוא ישאיר את הר"ת ולאחמ"כ הוא יעבור לחיפוש הבא.
אשמח לכל תשובה או רעיון שאפשר להקל על הענין. -
@אוריי כתב בעזרה | קוד להסרת ' או " לפי התאמה אישית:
הבעיה: יש לי מלא מסמכים בוורד שיש שם מלא " על סימנים של שו"ע ומשנ"ב וכדו' זה יכול להיות ' או " לדוגמא א', ב', י"א, י"ב, קט"ז, וכו'.
כעת אני רוצה להסיר אותם בקלות אמנם אם אני יסיר אותם באופן גורף אני מאבד מקומות בהם אני כן צריך את ה " כדוגמא י"א, יכול להיות גם סימן יא, גם אות י"א, וכדו', אבל יכול להיות גם יש אומרים בר"ת.לא הבנתי למה יש מיותרים ואיכן
-
-
@pcinfogmach היעיל ביותר זה לבנות מאקרו מותאם אישית אני לא חושב שיש אופציה החרת כיוון שזה לא סימן אקר מספיק טוב
-
@דאנציג כתב בעזרה | קוד להסרת ' או " לפי התאמה אישית:
אם כתוב 'סימן', תוכל לחפש 'סימן י"א' והחלף ב'סימן יא' למשל, וכך על כל האלף בית, וכך גם על דפי ש"ס וכדו'
אם היה כך לא הייתי שואל הבעיה שאין לי שום סימן היכר
ולגבי הסוגריים זה לא עוזר כי בחלקם יש סוגריים ובחלקם אין כלל...
גם לא יעזור לחפש סימן לפני כי לפעמים כתוב סימן ולפעמים סימנים חוצמזה לפעמים כתוב עיין בסימן י"א י"ב כך שאני יזהה את הראשון ולא את האחרון.@דאנציג כתב בעזרה | קוד להסרת ' או " לפי התאמה אישית:
למשל גמ' * (השתמש בתווים כללים) ודף ..". החלף ב...
לא הבנתי למה התכוונת..
-
@pcinfogmach אולי אפשר לתת למאקרו טווח לתיקון
אני צריך לשבת על זה נירה מתי יהיה לי זמן -
@pcinfogmach כתב בעזרה | קוד להסרת ' או " לפי התאמה אישית:
אני מאוד ממליץ לך להעלות לכאן דוגמא לכל הפחות אינו דומה ראייה לשמיעה ותשועה ברוב יועץ
ברור שכך
-
@אוריי כתב בעזרה | קוד להסרת ' או " לפי התאמה אישית:
@3157686
יש מאקרו שאחרי שהוא מוצא את התוצאה בהחלף הוא יתן לי לבחור האם להחליף או לדלג?לזה לא צריך מאקרו פשוט מאוד בחפש והחלף
אם אתה רוצה להלחילף לחץ על החלף (לא החלף הכל)
אם אתה לא רוצה להחליף לחץ על על חפש את הבא
אגב מומלץ לחפש כך:
בתיבת חפש את: ([א-ת])(\")([א-ת])
ובתיבת החלף ב: \1\3
ולסמן בוי את השתמש בתווים כלליים -
@pcinfogmach כתב בעזרה | קוד להסרת ' או " לפי התאמה אישית:
@אוריי כתב בעזרה | קוד להסרת ' או " לפי התאמה אישית:
@3157686
יש מאקרו שאחרי שהוא מוצא את התוצאה בהחלף הוא יתן לי לבחור האם להחליף או לדלג?לזה לא צריך מאקרו פשוט מאוד בחפש והחלף
אם אתה רוצה להלחילף לחץ על החלף (לא החלף הכל)
אם אתה לא רוצה להחליף לחץ על על חפש את הבא
אגב מומלץ לחפש כך:
בתיבת חפש את: ([א-ת])(")([א-ת])
ובתיבת החלף ב: \1\3
ולסמן בוי את השתמש בתווים כללייםעד היום השתמשתי בזה אבל זה לא פותר לי את הבעיה שכתבתי בפוסט הראשון
@אוריי כתב בעזרה | קוד להסרת ' או " לפי התאמה אישית:
הבעיה בדרך זו שהוא גם מחזיר לי ר"ת כמו ז"א ויל"ב ואכמ"ל למיניהם שלעולם הם לא יכולים להיות סימנים.
-
@אוריי כתב בעזרה | קוד להסרת ' או " לפי התאמה אישית:
הבעיה בדרך זו שהוא גם מחזיר לי ר"ת כמו ז"א ויל"ב ואכמ"ל למיניהם שלעולם הם לא יכולים להיות סימנים.
ראיתי את המסמך וראיתי את ההערה עכשיו יותר מובן מה אתה רוצה:
תתקן אותי אם אני טועה אבל למעשה הסימון של הסימן או האות מופיע תמיד אחד מהמופעים כגון:
סימן או סו"ס או ס"ק או אות וכו'
אם אני צודק למעשה הפתרון הוא שתעלה לכאן רשימה מסודרת של כל סוגי המופעים ממין אלו ונעשה לך בל"נ מאקרו מותאם. -
@אוריי
פתרון נוסף יהיה כמובן כמו שאתה רצית דהיינו לכתוב מאקרו לחיפוש רק מופעים שעלולים להיות סימנים או אותיות ולא שאר ראשי תיבות, אבל לדעתי זו דרך קצרה שהיא ארוכה.
איך שלא יהיה תכתוב פה איזה דרך אתה מעדיף ובעז"ה נחבר לך איזשהו מאקרו. -
@pcinfogmach
הרבה תודה על ההתייחסות
כפי איך שאני מכיר את המסמכים היטב יתכן וסימנים שלא יהיה לפניהם את אחד מהמופעים שהזכרת קודם סימן אות ס"ק וכו'
ובמיוחד בעריכה הפחד שלי היא לא לתת לאיזה קוד אפי' שאני חיברתי אותו לעשות לי שינויים במסמך באופן שלא אוכל לחזור בו כלל ובוודאי שלא אוכל לדעת מה הוא שינה ומה לא אני פשוט יאבד ידיים ורגליים.
מה שהייתי ממליץ ללכת הוא בכיוון הבא:
לעשות את הפעולות הבאות לחפש את המופעים לפי הסדר של א' ב' ג' וכו' כולל הר"ת שלהם ולהציג לי את זה אחד אחד במסמך ואני יחליט על כל אחד.
מה שהייתי רוצה זה להקל על אופן ההחלטות באופן שאני יוכל להשתמש באיזה 2 מקשים במקלדת ולא ריצה של עכבר או חיצים על המסך זה יריץ את העבודה.נ.ב. היה מי שהמליץ לי בעבר לעשות קוד שיחזיר את כל המופעים של הר"ת (כמובן לפי א' ב' וכו') לתוך טבלת אקסל כולל 2 מילים לפני ואחרי ואז להחליט על כל אחד בטבלת אקסל (או אקסס לפי הענין) ולעשות ע"ז החלפה. (אני לא יודע כמה זה יותר ממולץ אולי אפשר להמשיך את הרעיון שלו לאיזה בינה מלאכותית שתדע מתי זה וודאי סימן ומתי ספק ויש לשאול אותי (הציבור לבנתיים אומר שהוא לא מאמין בבינה מלאכותית אז כך ש....)
-
@pcinfogmach
לבנתיים אני התחלתי עם פונקציה של גימטריה שמחזירה לי את הר"ת לפי בחירה אם או בלי.
זה הקוד:Function GIMATRIA(x, Acronyms As Boolean) g = "" TV = Int(x / 400) For i = 1 To TV g = g & "ת" Next i x = x - (TV * 400) TV = Int(x / 300) For i = 1 To TV g = g & "ש" Next i x = x - (TV * 300) TV = Int(x / 200) For i = 1 To TV g = g & "ר" Next i x = x - (TV * 200) TV = Int(x / 100) For i = 1 To TV g = g & "ק" Next i x = x - (TV * 100) TV = Int(x / 90) For i = 1 To TV g = g & "צ" Next i x = x - (TV * 90) TV = Int(x / 80) For i = 1 To TV g = g & "פ" Next i x = x - (TV * 80) TV = Int(x / 70) For i = 1 To TV g = g & "ע" Next i x = x - (TV * 70) TV = Int(x / 60) For i = 1 To TV g = g & "ס" Next i x = x - (TV * 60) TV = Int(x / 50) For i = 1 To TV g = g & "נ" Next i x = x - (TV * 50) TV = Int(x / 40) For i = 1 To TV g = g & "מ" Next i x = x - (TV * 40) TV = Int(x / 30) For i = 1 To TV g = g & "ל" Next i x = x - (TV * 30) TV = Int(x / 20) For i = 1 To TV g = g & "כ" Next i If x = 15 Then g = g & "טו" Else If x = 16 Then g = g & "טז" Else x = x - (TV * 20) TV = Int(x / 10) For i = 1 To TV g = g & "י" Next i x = x - (TV * 10) TV = Int(x / 9) For i = 1 To TV g = g & "ט" Next i x = x - (TV * 9) TV = Int(x / 8) For i = 1 To TV g = g & "ח" Next i x = x - (TV * 8) TV = Int(x / 7) For i = 1 To TV g = g & "ז" Next i x = x - (TV * 7) TV = Int(x / 6) For i = 1 To TV g = g & "ו" Next i x = x - (TV * 6) TV = Int(x / 5) For i = 1 To TV g = g & "ה" Next i x = x - (TV * 5) TV = Int(x / 4) For i = 1 To TV g = g & "ד" Next i x = x - (TV * 4) TV = Int(x / 3) For i = 1 To TV g = g & "ג" Next i x = x - (TV * 3) TV = Int(x / 2) For i = 1 To TV g = g & "ב" Next i x = x - (TV * 2) TV = Int(x / 1) For i = 1 To TV g = g & "א" Next i x = x - (TV * 1) End If End If If Acronyms = True Then If Len(g) > 1 Then g = Left(g, Len(g) - 1) & """" & Right(g, 1) If Len(g) = 1 Then g = g & "'" End If GIMATRIA = g End Function