בירור | מציאת צבע לסימון טקסט בוורד
-
מאקרו מעודכן לחיפוש טקסט לפי צבע סימון, עם תיבת שאלה איזה צבע רוצים לחפש, והוא נותן רשימה של הצבעים האפשריים [המובנים] שיש בסימון טקסט.
עידכון: כדי שלא נצטרך כל פעם לבחור את הצבע, נוסף אפשרות פקודה ששומר את הצבע הנבחר האחרון, ומעתה בפעם השניה שלוחצים הוא לא שואל איזה צבע רוצים, אלא שומר את הבחירה האחרונה וממשיך בכל לחיצה לחפש את התוצאה הבאה לפי הצבע הנבחר, ואם רוצים לשנות לצבע אחר יש מקש נוסף לאיפוס הצבע הנבחר, ולאחר מכן אם לוחצים שוב על המאקרו הוא שוב פותח את חלון הבחירה לבחור איזה צבע לחפש.
הוראות מיוחדות: כדי שיוכל לשמור את הבחירה להמשך החיפוש, יש לשמור את המאקרו במודול נפרד לא ביחד עם מקרואים אחרים.' משתנים גלובליים Dim savedHighlightColor As WdColorIndex ' לשמירת הצבע הנבחר Dim isColorSelected As Boolean ' לבדיקה אם כבר נבחר צבע Sub FindNextHighlightByColor() Dim highlightColor As WdColorIndex Dim found As Boolean Dim colorInput As String ' רשימת הצבעים האפשריים בעברית Dim colorList As Object Set colorList = CreateObject("Scripting.Dictionary") colorList.Add "צהוב", wdYellow colorList.Add "ירוק", wdBrightGreen colorList.Add "ורוד", wdPink colorList.Add "כחול", wdBlue colorList.Add "טורקיז", wdTurquoise colorList.Add "אדום", wdRed colorList.Add "לבן", wdWhite colorList.Add "שחור", wdBlack colorList.Add "כחול כהה", wdDarkBlue colorList.Add "ירוק כהה", wdGreen colorList.Add "סגול", wdViolet colorList.Add "אדום כהה", wdDarkRed colorList.Add "צהוב כהה", wdDarkYellow colorList.Add "אפור 50%", wdGray50 colorList.Add "אפור 25%", wdGray25 ' אם צבע עדיין לא נבחר, בקשת קלט מהמשתמש If Not isColorSelected Then colorInput = InputBox("בחר צבע לחיפוש (אפשרויות: צהוב, ירוק, ורוד, כחול, טורקיז, אדום, לבן, שחור, כחול כהה, ירוק כהה, סגול, אדום כהה, צהוב כהה, אפור 50%, אפור 25%):", "בחר צבע") ' המרת הקלט לעדכון צבע If colorList.Exists(LCase(colorInput)) Then savedHighlightColor = colorList(LCase(colorInput)) isColorSelected = True ' סימון שהצבע נבחר Else MsgBox "צבע לא חוקי. נסה שוב עם צבע מתוך הרשימה.", vbExclamation Exit Sub End If End If highlightColor = savedHighlightColor ' איפוס פורמטים של חיפוש Selection.Find.ClearFormatting Selection.Find.Text = "" ' חיפוש כל טקסט Selection.Find.Highlight = True ' חיפוש טקסט עם הסימון בצבע הנבחר found = False If Selection.Find.Execute Then Do While Selection.Find.found ' בדיקת צבע הסימון If Selection.Range.HighlightColorIndex = highlightColor Then found = True Exit Do End If Selection.Collapse Direction:=wdCollapseEnd If Not Selection.Find.Execute Then Exit Do Loop End If ' אם לא נמצא טקסט עם הצבע הנבחר If Not found Then MsgBox "לא נמצא טקסט עם סימון בצבע הנבחר." End If End Sub ' מאקרו לאיפוס הצבע שנבחר Sub ResetColorSelection() isColorSelected = False MsgBox "הצבע שנבחר אופס. ניתן לבחור צבע חדש בפעם הבאה." End Sub
עודכן, ראה הוראות על העדכון.
-
פוסט זה נמחק!
-
@u88 אפשר גם לפי המספר הקסדצימאלי של כל צבע, לדוגמה:
שחור (Black): #000000
לבן (White): #FFFFFF
אדום (Red): #FF0000
ירוק (Green): #00FF00
כחול (Blue): #0000FF
צהוב (Yellow): #FFFF00
סגול (Purple): #800080
טורקיז (Cyan): #00FFFF
אפור (Gray): #808080
כתום (Orange): #FFA500
גוונים עדינים:
ורוד בהיר (Light Pink): #FFB6C1
תכלת (Sky Blue): #87CEEB
סגול בהיר (Lavender): #E6E6FA
ירוק בהיר (Light Green): #90EE90
אפור כהה (Dark Gray): #A9A9A9זהב (Gold): #FFD700
כסף (Silver): #C0C0C0
חום (Brown): #A52A2A
כחול כהה (Navy Blue): #000080
ירוק זית (Olive): #808000