מה קורה ר'
@Yisrael האם אתה כותב לי הקוד לפתיחת דו שיח?
אבל אני צריך לדעת איפה בדיוק זה להכניס, ובמקום מה.
סליחה ששכחתי מזה.
אם הבנתי אותך נכון אתה רוצה שהמאקרו ימצא את כל הפסקאות בעמוד הנוכחי שהם מוגדרים עם אותו סגנון של הפסקה שבה הסמן נמצא ויחיל עליהם הגדרות שאתה תבחר מתוך תיבת דו שיח.
אם הבנתי אותך נכון תשתמש בקוד הבא בשביל לשנות את הגדרות הגופן של כל הפסקאות עם הסגנון המבוקש:
Sub Pgfont()
Dim myrange As Range,
myDialog As Dialog
application.ScreenUpdating = False
Set myDialog = Dialogs(wdDialogFormatFont)
myDialog.Display
NmPg = Selection.Information(wdActiveEndPageNumber)
With Selection
StyleName = .Range.Style
Set myrange = .Range
.Find.ClearFormatting
.Find.Style = ActiveDocument.Styles(StyleName)
With .Find
.text = ""
.Wrap = wdFindStop ' = wdFindContinue
End With
Do While .Find.Execute = True
If NmPg = .Information(wdActiveEndPageNumber) Then
myDialog.Execute
Else
Exit Do
End If
Loop
.start = myrange.start: .End = myrange.End
End With
application.ScreenUpdating = True
End Sub
כדי שתוכל להשתמש בזה גם להגדרות פסקה או כל תיבת דו-שיח אחרת כדאי שתבין איך זה עובד, אז ככה:
החלק שצבוע בסגול מכריז על המשתנה mydialog
בצבע אדום אנחנו מגדירים את המשתנה להיות תיבת הדו-שיח גופן
בצבע כחול אנחנו פותחים את תיבת הדו-שיח שבמשתנה mydialog (-גופן במקרה הזה) - שים לב שאני פותח אותה עם הפקודה display ולא עם show מה שאומר שההגדרות שתבחר בתיבת הדו-שיח לא יופעלו על הבחירה במסמך אלא רק ישמרו בזיכרון
ובצבע ירוק - אחרי שנמצאה הפסקה עם הסגנון המבוקש אנחנו מחילים בפועל את ההגדרות שבחרת בתיבת הדו-שיח
ממילא אתה יכול לעשות את אותו דבר עם הגדרות פסקה, אתה רק צריך לשנות בשורה האדומה את הטקסט שבסוגריים ל- wdDialogFormatParagraph. באותו אופן אתה יכול לשנות לכל תיבת דו-שיח שתרצה כמו שתוכל לראות ב VBA שיש לך רשימה נפתחת של כל התיבות המובנות של וורד.
מקווה שהובנתי ושיהיה לתועלת.
בהצלחה!