וורד - חיפוש כלפי מעלה

אלחנן אריאל

משתמש צעיר
עימוד ספרים
אפשר יותר שיחתי.
כל קוד חיפוש, אחר שמגדירים בו את מה שרוצים לחפש, צריך לחתום:
קוד:
    Selection.Find.Execute
לחיפוש

קוד:
Selection.Find.Execute Replace:=wdReplaceAll
להחלפת הכל



כיצד צריך לחתום לפקודה "חפש ב"?

חן חן!
 

Yisrael

משתמש פעיל
אני לא יודע איך אפשר לעשות את הפעולה הזו, אבל אפשר להשתמש באלתור הזה:

קוד:
Sub multiple_selection()
Do While Selection.Find.Execute("אברהם", , , , , , , wdFindStop) = True
Selection.Range.Editors.Add wdEditorEveryone
Loop
ActiveDocument.SelectAllEditableRanges wdEditorEveryone
ActiveDocument.DeleteAllEditableRanges wdEditorEveryone
 

אלחנן אריאל

משתמש צעיר
עימוד ספרים
לא הבנתי לגמרי מה אתה מנסה לעשות אבל הקוד הבא יחזיר לך במשתנה Counter את מספר המופעים של אברהם במסמך

קוד:
Sub Word_Count()
i = 1
[LEFT]Do While InStr(i, ActiveDocument.Range, "אברהם") > 0
i = InStr(i, ActiveDocument.Range, "אברהם") + 5[/LEFT]
Counter = Counter + 1
Loop
End Sub

אפשר בבקשה הסבר מה הקוד הזה עושה בדיוק?
(קצת הסתבך לי המאקרו, והבנת הקוד הזה עלולה לפתור לי את הבעיה).

תודה רבה!
 

Yisrael

משתמש פעיל
אפשר בבקשה הסבר מה הקוד הזה עושה בדיוק?
(קצת הסתבך לי המאקרו, והבנת הקוד הזה עלולה לפתור לי את הבעיה).

תודה רבה!

הפונקציה InStr מחפשת מחרוזת בתוך מחרוזת ומחזירה את המיקום של תת המחרוזת בתוך
המחרוזת הראשית (ערך מספרי), אם לא נמצא היא מחזירה 0.

כאשר תת המחרוזת מופיעה יותר מפעם אחת במחרוזת הראשית הפונציה תחזיר את המיקום של המופע הראשון.

בנוסף הפונקציה מקבלת (אופציונלי) גם את המיקום בתוך המחרוזת הראשית ממנו תתחיל לחפש.


מה שעשיתי הוא לולאה שמחפשת את המחרוזת הרצויה כל עוד הפונקציה עצמה מחזירה ערך גדול מ-0. בנוסף בכל פעם שיניתי את המיקום ממנו תתחיל הפונקציה לעבור על המחרוזת מהמקום שבו נמצא בפעם שעברה + 5 (שזה מספר התווים של אברהם – למרום שהיה מספיק +1 אבל במקרים מסוימים יהיה הבדל לכן העדפתי +5).

כך יוצא שהלולאה תרוץ כמספר המופעים של תת המחרוזת הרצויה. מכאן הדרך קצרה לשים משתנה שיספור את מספר הפעמים שהלולאה רצה ויקרא שמו: Counter

נ"ב: מסתבר שיותר קשה להסביר מאשר לכתוב את הקוד..
 

Yisrael

משתמש פעיל
תודה רבה!



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

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

הפרק היומי

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


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

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

לוח מודעות

למעלה