אופיס 365 איך מורידים ניקוד מקטע שלם בוורד?

דוד אברבנאל

משתמש מקצוען
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי
איור וציור מקצועי
עימוד ספרים
עריכה תורנית
מצאתי את זה עכשיו אחר כמה שנים, זה עזר לי אבל לא הוריד את הנקודות מאות ש'
מישהו יודע היאך להוריד את זה?
קוד:
[^0192-^0204^0209^0210]
כך זה צריך להיות כתוב בתיבת החיפוש ולהחליף בכלום...
 

השלום

משתמש חדש
לא רק עם ש יכולה להיות בעיה אלא גם עם כל האותיות הדגושות, ועוד. וזאת משום שישנם מספר תווים מורכבים בטבלת ASCII. לצורך כך , המאקרו המצורפת כאן עושה את כל הדרוש.
ואני אסביר להלן, אבל בינתיים אוסיף פרט חשוב: אין לשמור מאקרו בקובץ normal, כי לעתים קרובות הוא נמחק וילכו להם כל המאקרו שהכנתם. הדרך הנכונה היא לשמור אותם בתבנית השמורה בתיקייה:
%appdata%\Microsoft\Word\Startup (אם אינה קיימת, יש ליצור אותה).

עכשיו הסבר קצר: עשו העתק הדבק של שתי האותיות הבאות: בּ בּ. נסו בשתי האותיות האלה למחוק את הדגש. עם האות השניה זה יהיה אפשרי אבל לא עם האות הראשונה, וזאת מפני שהיא תו אחד מורכב (באנגלית זה נקרא Precomposed character), ואילו השניה היא שני תווים: האות ב והדגש. לכן אם המסמך שרוצים להסיר ממנו את הניקוד משתמש בתווים המורכבים האלה, המאקרו שנשלח קודם לא יעבוד, (כי הוא מוחק את כל התווים "דגש" אבל "בּ" אינו מכין תו דגש, אלא הוא תו בפני עצמו) ויש לשדרגו למאקרו המצורף כאן. זה יפתור את כל הבעיות: תווים מורכבים של ו עם חולם, י עם חירק, א עם קמץ או פתח, ש עם נקודה שמאלית או ימנית עם או בלי דגש.

CSS:
Sub הסר־ניקוד־וטעמים()
'
' הסר־ניקוד־וטעמים Macro
'
'
Application.ScreenUpdating = False
'החלפת מקפים ברווח
'With ActiveDocument.Range.Find ' עובד על כל המסמך מעבר לבחירה
 Selection.Find.ClearFormatting
 With Selection.Find

  .ClearFormatting
  .Replacement.ClearFormatting
  .Format = False
  .Forward = True
  .Wrap = wdFindStop
    .Text = ChrW(1470)
  .Replacement.Text = " "
  End With
  Selection.Find.Execute Replace:=wdReplaceAll

' מחיקת ניקוד וטעמים
With Selection.Find
  .ClearFormatting
  .Replacement.ClearFormatting
  .Format = False
  .Forward = True
  .Wrap = wdFindStop
  .MatchWildcards = True
  .Text = "[" & ChrW(1425) & "-" & ChrW(1475) & ChrW(1479) & "]"
  .Replacement.Text = ""
  End With
 
  Selection.Find.Execute Replace:=wdReplaceAll
' בדיקת אם יש composed characters
With Selection.Find
  .ClearFormatting
  .Replacement.ClearFormatting
  .Format = False
  .Forward = True
  .Wrap = wdFindStop
  .MatchWildcards = True
  .MatchDiacritics = True
    .Text = "[" & ChrW(64285) & "-" & ChrW(64334) & "]"
    End With
    
    If Selection.Find.Found = True Then
        
    'טיפול בי חירק
    With Selection.Find
  .ClearFormatting
  .Replacement.ClearFormatting
  .Format = False
  .Forward = True
  .Wrap = wdFindStop
    .MatchDiacritics = True
    .Text = ChrW(64285)
    .Replacement.Text = "י"
    End With
    
    Selection.Find.Execute Replace:=wdReplaceAll
        
    'טיפול בש מורכב מכל הסוגים
    With Selection.Find
  .ClearFormatting
  .Replacement.ClearFormatting
  .Format = False
  .Forward = True
  .Wrap = wdFindStop
  .MatchWildcards = True
  .MatchDiacritics = True
    .Text = "[" & ChrW(64298) & "-" & ChrW(64301) & "]"
     .Replacement.Text = "ש"
     End With
     Selection.Find.Execute Replace:=wdReplaceAll
    
    
    ' טיפול בשלושה סוגי א
    With Selection.Find
  .ClearFormatting
  .Replacement.ClearFormatting
  .Format = False
  .Forward = True
  .Wrap = wdFindStop
  .MatchWildcards = True
  .MatchDiacritics = True
    .Text = "[" & ChrW(64302) & "-" & ChrW(64304) & "]"
     .Replacement.Text = "א"
     End With
         Selection.Find.Execute Replace:=wdReplaceAll
      
    ' טיפול באותיות מורכבות עם דגש
    
    Dim i As Integer
      For i = 1489 To 1514
    With Selection.Find
  .ClearFormatting
  .Replacement.ClearFormatting
  .Format = False
  .Forward = True
  .Wrap = wdFindStop
    .MatchDiacritics = True
 
    .Text = ChrW(i + 62816)
    .Replacement.Text = ChrW(i)
    End With
        Selection.Find.Execute Replace:=wdReplaceAll
    Next i
        
    ' טיפול בו׳ עם חולם
    With Selection.Find
  .ClearFormatting
  .Replacement.ClearFormatting
  .Format = False
  .Forward = True
  .Wrap = wdFindStop
    .MatchDiacritics = True
         .Text = ChrW(64331)
    .Replacement.Text = "ו"
    End With
   Selection.Find.Execute Replace:=wdReplaceAll
      
                      
     End If
    
Application.ScreenUpdating = True

End Sub
 

דוד אברבנאל

משתמש מקצוען
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי
איור וציור מקצועי
עימוד ספרים
עריכה תורנית
אני לא יודע (אולי זה תלוי בפונטים או בצורת הניקוד מראש) אבל אצלי בוורד רצה שורת קוד די פשוטה של @צורת הדף שעושה הכל...
קוד:
Sub הסרת_טעמים_וניקוד_מהמסמך_ומקטע_נבחר()
Application.ScreenUpdating = False
  
With Selection.Find
.ClearFormatting: .Replacement.ClearFormatting
' בשביל למחוק רק טעמים: להפחית ל-1455
    For i = 1425 To 1479
    .Execute findText:=ChrW(i), ReplaceWith:="", Forward:=True, Wrap:=wdFindStop, MatchWildcards:=True, Replace:=wdReplaceAll
    Next
End With
End Sub

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

השלום

משתמש חדש
@דוד אברבנאל צר לי שאני משקיע זמן לכתוב ואחרים מיד משקיעים הרבה זמן להגיב (כולל וידאו) אבל לא משקיעים זמן לקרוא את מה שכתבתי.
האם ניסית לעשות העתק הדבק משני הביתים הדגושות שכתבתי ולבדוק האם המאקרו שלך מוריד מהם הדגשים? (ברור שלא, וברור שהתוצאה היתה שלראשונה לא היה קורה דבר).
עכשיו עוד תרגיל נוסף: נסה לעשות העתק הדבק מהפסוק הבא (מההודעה הזאת כמובן, לא להעתיק ממקור אחר) ולבדוק מה המאקרו שלך יעשה: וְהַנּוֹתָ֖ר מִבְּשַׂ֣ר הַזָּ֑בַח בַּיּוֹם֙ הַשְּׁלִישִׁ֔י בָּאֵ֖שׁ יִשָּׂרֵֽף . (הפסוק הזה מכיל גם ש ימנית גם ש שמאלית, ושתיהן גם דגושות וגם רפויות, וגם חולם מלא וגם דגשים).

ועוד בעיה במאקרו שלך, שהוא מוחק גם את המקף, אבל כך שתי מילים יהפכו למילה אחת. "על־כן" הופך "עלכן". לכן הקדמתי החלפת מקפים לרווח.

עוד משהו על שורת הקוד שכתבת שהיא "די פשוטה": נכון שהיא די פשוטה לכתיבה, והיא עובדת טוב על טקסטים שלא משתמשים בתווים מורכבים (precomposed), אבל בשביל המחשב היא לא פשוטה בכלל והיא מטריחה אותו סתם. עם הקוד שלך, המחשב עובר על כל הטקסט 55 פעמים ובכל פעם מחפש רק תו אחד למחיקה. זה מיותר, לכן במקום זה גם במאקרו שלך כדאי לך להחליף כך:
קוד:
.Text = "[" & ChrW(1425) & "-" & ChrW(1479) & "]"
במקום מה שכתבת (כתובים רק הדברים שיש למחוק):
קוד:
For i = 1425 To 1479
     findText:=ChrW(i),
    Next
כך זה יהיה יותר קל למחשב.
כל טוב
 

דוד אברבנאל

משתמש מקצוען
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי
איור וציור מקצועי
עימוד ספרים
עריכה תורנית
נסה לעשות העתק הדבק מהפסוק הבא (מההודעה הזאת כמובן, לא להעתיק ממקור אחר) ולבדוק מה המאקרו שלך יעשה: וְהַנּוֹתָ֖ר מִבְּשַׂ֣ר הַזָּ֑בַח בַּיּוֹם֙ הַשְּׁלִישִׁ֔י בָּאֵ֖שׁ יִשָּׂרֵֽף . (הפסוק הזה מכיל גם ש ימנית גם ש שמאלית, ושתיהן גם דגושות וגם רפויות, וגם חולם מלא וגם דגשים).
אתה צודק, אבל אני התכוונתי לכותב שבטקסט פשוט שאינו מורכב אפשר להשתמש בקוד קצר...

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

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

יעקב כהן

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

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קכו

א שִׁיר הַמַּעֲלוֹת בְּשׁוּב יי אֶת שִׁיבַת צִיּוֹן הָיִינוּ כְּחֹלְמִים:ב אָז יִמָּלֵא שְׂחוֹק פִּינוּ וּלְשׁוֹנֵנוּ רִנָּה אָז יֹאמְרוּ בַגּוֹיִם הִגְדִּיל יי לַעֲשׂוֹת עִם אֵלֶּה:ג הִגְדִּיל יי לַעֲשׂוֹת עִמָּנוּ הָיִינוּ שְׂמֵחִים:ד שׁוּבָה יי אֶת (שבותנו) שְׁבִיתֵנוּ כַּאֲפִיקִים בַּנֶּגֶב:ה הַזֹּרְעִים בְּדִמְעָה בְּרִנָּה יִקְצֹרוּ:ו הָלוֹךְ יֵלֵךְ וּבָכֹה נֹשֵׂא מֶשֶׁךְ הַזָּרַע בֹּא יָבוֹא בְרִנָּה נֹשֵׂא אֲלֻמֹּתָיו:
נקרא  61  פעמים

לוח מודעות

למעלה