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

אברהם

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

איילת שלו

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

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

ונתנו10

משתמש מקצוען
מנוי פרימיום
בוגר/תלמיד פרוג
פרסום וקופירייטינג
עיצוב גרפי DIP
פיתוח / אפיון / עיצוב אתרים
שלמה, בוורד זה נראה לי מאוד פשוט.
(אני רק לא זוכר איך עוצרים את המאקרו מלרוץ. אז תעשה פשוט 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

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

חנני'

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

המספרים של פרוג:

382,394

משתמשים נכנסו לפרוג בחודש האחרון

194

משתמשים מבקרים ברגע זה באתר

6,372

הודעות נכתבו בממוצע ליום בחודש האחרון

לוח נדל"ן | למכירה והשכרה

לוח דרושים

לוח הסעות ושליחויות

למעלה