מאקרו שמכניס סימון לפני איפה שמתחיל שינוי בקובץ

אהרן2

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

moishy

משתמש סופר מקצוען
מנוי פרימיום
נתחיל עם דבר שכלל לא ביקשת אבל אולי יועיל לך או לאחרים, סטטיסטיקה של עקוב אחר שינויים:
קוד:
Sub TrackChangeStats()
    Dim lngInsertsWords As Long
    Dim lngInsertsChar As Long
    Dim lngDeletesWords As Long
    Dim lngDeletesChar As Long
    Dim strTemp As String
    Dim objRevision As Revision

    lngInsertsWords = 0
    lngInsertsChar = 0
    lngDeletesWords = 0
    lngDeletesChar = 0
    For Each objRevision In ActiveDocument.Revisions
        Select Case objRevision.Type
            Case wdRevisionInsert
                lngInsertsChar = lngInsertsChar + Len(objRevision.Range.Text)
                lngInsertsWords = lngInsertsWords + objRevision.Range.Words.Count
            Case wdRevisionDelete
                lngDeletesChar = lngDeletesChar + Len(objRevision.Range.Text)
                lngDeletesWords = lngDeletesWords + objRevision.Range.Words.Count
        End Select
    Next objRevision

    strTemp = "הוספות" & vbCrLf
    strTemp = strTemp & "    מילים: " & lngInsertsWords & vbCrLf
    strTemp = strTemp & "    תווים: " & lngInsertsChar & vbCrLf
    strTemp = strTemp & "מחיקות" & vbCrLf
    strTemp = strTemp & "    מילים: " & lngDeletesWords & vbCrLf
    strTemp = strTemp & "    תווים: " & lngDeletesChar & vbCrLf
    MsgBox strTemp, vbMsgBoxRight + vbMsgBoxRtlReading
End Sub
 

moishy

משתמש סופר מקצוען
מנוי פרימיום
וכעת לבקשתך (כמעט לפי דרישותיך):
קוד:
Sub MarkChangeStats()
    Dim objRevision As Revision
    Dim i As Long
    Selection.HomeKey Unit:=wdStory
    For Each objRevision In ActiveDocument.Revisions
        i = i + 1
        With objRevision.Range
            If i Mod 2 = 0 Then
                .Collapse Direction:=wdCollapseStart
                .Select
                .Move Unit:=wdWord, Count:=objRevision.Range.Words.Count
                .Select
                ActiveDocument.TrackRevisions = False
                Selection.TypeText "@@@@"
                ActiveDocument.TrackRevisions = True
            End If
        End With
    Next objRevision
End Sub
 

אהרן2

משתמש מקצוען
עימוד ספרים
תודה!!!

אפשר לבקש גם סימון שונה לפני?
(נסיתי להבין את הקוד בשביל לנסות לבד ולא הצלחתי)
 

אהרן2

משתמש מקצוען
עימוד ספרים
תודה!!!

אפשר לבקש גם סימון שונה לפני?
(נסיתי להבין את הקוד בשביל לנסות לבד ולא הצלחתי)
 

עיטורים פלוס

משתמש סופר מקצוען
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי
הנדסת תוכנה
צילום מקצועי
D I G I T A L
עימוד ספרים
הוא לא מכניס סימון בכל המקומות שהיה שינוי...
והאם ניתן שיוסיף לפני השינוי ואחרי השינוי?
 

moishy

משתמש סופר מקצוען
מנוי פרימיום
נכתב ע"י אהרן2;1663664:
תודה!!!

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

moishy

משתמש סופר מקצוען
מנוי פרימיום
נכתב ע"י גלאט;1663816:
הוא לא מכניס סימון בכל המקומות שהיה שינוי...
והאם ניתן שיוסיף לפני השינוי ואחרי השינוי?
איפה הוא לא מצליח?
 

צורת הדף

משתמש מקצוען
עיצוב גרפי
עימוד ספרים
עריכה תורנית
קוד:
Sub MarkChangeStats()
With ActiveDocument
    For i = 1 To .Revisions.Count
        If .Revisions(i).Type = wdRevisionInsert Then
         .Revisions(i).Range.InsertBefore "#": .Revisions(i).Range.InsertAfter "$"
         ElseIf .Revisions(i).Type = wdRevisionDelete Then
         .Revisions(i).Range.InsertBefore "%": .Revisions(i).Range.InsertAfter "&"
        End If
    Next i
End With
End Sub
 

אהרן2

משתמש מקצוען
עימוד ספרים
נכתב ע"י קרש;1664046:
קוד:
Sub MarkChangeStats()
With ActiveDocument
    For i = 1 To .Revisions.Count
        If .Revisions(i).Type = wdRevisionInsert Then
         .Revisions(i).Range.InsertBefore "#": .Revisions(i).Range.InsertAfter "$"
         ElseIf .Revisions(i).Type = wdRevisionDelete Then
         .Revisions(i).Range.InsertBefore "%": .Revisions(i).Range.InsertAfter "&"
        End If
    Next i
End With
End Sub

לא טוב
לא השארת משהו חסר :D
תודה תודה לשניכם!
 

בר בי רב

משתמש פעיל
נתחיל עם דבר שכלל לא ביקשת אבל אולי יועיל לך או לאחרים, סטטיסטיקה של עקוב אחר שינויים:
קוד:
Sub TrackChangeStats()
    Dim lngInsertsWords As Long
    Dim lngInsertsChar As Long
    Dim lngDeletesWords As Long
    Dim lngDeletesChar As Long
    Dim strTemp As String
    Dim objRevision As Revision

    lngInsertsWords = 0
    lngInsertsChar = 0
    lngDeletesWords = 0
    lngDeletesChar = 0
    For Each objRevision In ActiveDocument.Revisions
        Select Case objRevision.Type
            Case wdRevisionInsert
                lngInsertsChar = lngInsertsChar + Len(objRevision.Range.Text)
                lngInsertsWords = lngInsertsWords + objRevision.Range.Words.Count
            Case wdRevisionDelete
                lngDeletesChar = lngDeletesChar + Len(objRevision.Range.Text)
                lngDeletesWords = lngDeletesWords + objRevision.Range.Words.Count
        End Select
    Next objRevision

    strTemp = "הוספות" & vbCrLf
    strTemp = strTemp & "    מילים: " & lngInsertsWords & vbCrLf
    strTemp = strTemp & "    תווים: " & lngInsertsChar & vbCrLf
    strTemp = strTemp & "מחיקות" & vbCrLf
    strTemp = strTemp & "    מילים: " & lngDeletesWords & vbCrLf
    strTemp = strTemp & "    תווים: " & lngDeletesChar & vbCrLf
    MsgBox strTemp, vbMsgBoxRight + vbMsgBoxRtlReading
End Sub
הוא עושה סימני שאלה
מה אפשר לשנות?
 

קבצים מצורפים

  • 1234.png
    1234.png
    KB 3.2 · צפיות: 27

moishy

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

בר בי רב

משתמש פעיל
קוד:
Sub MarkChangeStats()
With ActiveDocument
    For i = 1 To .Revisions.Count
        If .Revisions(i).Type = wdRevisionInsert Then
         .Revisions(i).Range.InsertBefore "#": .Revisions(i).Range.InsertAfter "$"
         ElseIf .Revisions(i).Type = wdRevisionDelete Then
         .Revisions(i).Range.InsertBefore "%": .Revisions(i).Range.InsertAfter "&"
        End If
    Next i
End With
End Sub
אצלי יוצא שיש סימון %& לפני כל מחיקה ואחרי המחיקה אין כלום
 

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

הפרק היומי

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


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

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

לוח מודעות

למעלה