חיפוש סוגריים והטקסט שבפנים והכנסה כהערת שוליים

אברהם

מהמשתמשים המובילים!
עיצוב גרפי DIP
עיצוב גרפי
עימוד ספרים
עריכה תורנית
D I G I T A L
עימוד ספרים
הר ברזל, השאלה היא לא איך לחפש את זה, אלא איך להפוך את זה להערת שוליים
(ואם רק היה צריך להקטין את הסוגריים וכד', יכול להיות שעדיף לעשות את זה בסגנון מקונן)
 

איילת שלו

משתמש מקצוען
עיצוב גרפי
כאן נתן לי הניק 'לייזער' מאקרו הפוך ממה שאתה צריך - החזרת ההערות לגוף הטקסט לתוך סוגריים
http://www.prog.co.il/showthread.php?t=19255

אישית אני לא מבינה בזה כלום -
אולי כדאי לך לפנות אליו, אולי יש לו גם דרך חזרה...
 

ונתנו10

משתמש מקצוען
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי DIP
D I G I T A L
שלמה, בוורד זה נראה לי מאוד פשוט.
(אני רק לא זוכר איך עוצרים את המאקרו מלרוץ. אז תעשה פשוט END כשהוא מקפיץ שגיאה בסיום)
קוד:
Sub Macro2()
'
' Macro2 Macro
'
'
    Selection.HomeKey Unit:=wdStory
    Selection.Find.ClearFormatting
   Do
    With Selection.Find
        .Text = "\(*\)"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchKashida = False
        .MatchDiacritics = False
        .MatchAlefHamza = False
        .MatchControl = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute
    Selection.Cut
    With Selection
        With .FootnoteOptions
            .Location = wdBottomOfPage
            .NumberingRule = wdRestartContinuous
            .StartingNumber = 1
            .NumberStyle = wdNoteNumberStyleArabic
        End With
        .Footnotes.Add Range:=Selection.Range, Reference:=""
    End With
    Selection.PasteAndFormat (wdPasteDefault)
    Selection.HomeKey Unit:=wdStory
    Loop
    End Sub
 

שלמה

משתמש מקצוען
תודה.
מה קורה לגבי סוגר בתוך סוגר
כמו (ירושלמי (דף י))
 

צורת הדף

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


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

יש לציין שכל המאפיינים של טקסט הסוגריים (הדגשות וכדו') נאבדים.

קוד:
Sub ParenthesisToFootnote()
Application.ScreenUpdating = False
again:
Selection.Find.ClearFormatting
If Selection.Find.Execute(findText:="\(*\)", MatchWildcards:=True, Wrap:=wdFindStop) = True Then
    strt = 2: lent = Len(Selection.Text)
re:
     For i = strt To lent
        If Mid(Selection.Text, i, 1) = chr(40) Then
        Selection.Extend Character:=chr(41)
        strt = i + 1: lent = Len(Selection.Text)
        GoTo re
        End If
     Next
mRange = Right(Selection.Text, (Len(Selection.Text) - 1))
Selection.Delete
    ActiveDocument.Footnotes.Add Range:=Selection.Range, Reference:="", Text:=Left(mRange, (Len(mRange) - 1)) & "."
    If Selection.Previous.Text = " " Then Selection.Delete Unit:=wdCharacter, Count:=-1
GoTo again
End If
Application.ScreenUpdating = True
End Sub

בהצלחה!
 

2u2

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

נכתב ע"י קרש;492865:
מאקרו להוריד כל הסוגריים שבקובץ (כולל סוגריים בתוך סוגריים) להערות שוליים.


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

יש לציין שכל המאפיינים של טקסט הסוגריים (הדגשות וכדו') נאבדים.

קוד:
Sub ParenthesisToFootnote()
Application.ScreenUpdating = False
again:
Selection.Find.ClearFormatting
If Selection.Find.Execute(findText:="\(*\)", MatchWildcards:=True, Wrap:=wdFindStop) = True Then
    strt = 2: lent = Len(Selection.Text)
re:
     For i = strt To lent
        If Mid(Selection.Text, i, 1) = chr(40) Then
        Selection.Extend Character:=chr(41)
        strt = i + 1: lent = Len(Selection.Text)
        GoTo re
        End If
     Next
mRange = Right(Selection.Text, (Len(Selection.Text) - 1))
Selection.Delete
    ActiveDocument.Footnotes.Add Range:=Selection.Range, Reference:="", Text:=Left(mRange, (Len(mRange) - 1)) & "."
    If Selection.Previous.Text = " " Then Selection.Delete Unit:=wdCharacter, Count:=-1
GoTo again
End If
Application.ScreenUpdating = True
End Sub

בהצלחה!

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

משיח מגיע

משתמש חדש
קוד:
Sub ParenthesisToFootnote()
Application.ScreenUpdating = False
again:
Selection.Find.ClearFormatting
If Selection.Find.Execute(findText:="\(*\)", MatchWildcards:=True, Wrap:=wdFindStop) = True Then
    strt = 2: lent = Len(Selection.Text)
re:
     For i = strt To lent
        If Mid(Selection.Text, i, 1) = chr(40) Then
        Selection.Extend Character:=chr(41)
        strt = i + 1: lent = Len(Selection.Text)
        GoTo re
        End If
     Next
mRange = Right(Selection.Text, (Len(Selection.Text) - 1))
Selection.Delete
    ActiveDocument.Footnotes.Add Range:=Selection.Range, Reference:="", Text:=Left(mRange, (Len(mRange) - 1)) & "."
    If Selection.Previous.Text = " " Then Selection.Delete Unit:=wdCharacter, Count:=-1
GoTo again
End If
Application.ScreenUpdating = True
End Sub

בהצלחה!
מישהו יכול להסביר איך משתמשים בקוד הזה?
 

חנני'

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

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

הפרק היומי

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


תהילים פרק קיט א'

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

לוח מודעות

למעלה