ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
20 visibility
موضوع: آفیس توسط:
مگر اینکه اسناد بسیار کوتاهی بنویسید، پاکسازی می‌تواند یکی از سخت‌ترین بخش‌های نوشتن باشد. ماکرو زیر سند شما را پاراگراف به پاراگراف دوبار بررسی می کند تا مشخص کند که آیا تعداد پرانتز متعادلی دارید یا خیر. ماکرو تعداد پرانتزهای چپ در هر پاراگراف سند شما را می شمارد و مطمئن می شود که شما به همان تعداد پرانتز سمت راست دارید. اگر این کار را نکنید، ماکرو یک پاراگراف را قبل از پاراگراف نامتعادل وارد می کند که نشان دهنده خطا است.
Sub CheckParens() Dim WorkPara As String Dim CheckP() As Boolean Dim NumPara As Integer, J As Integer Dim LeftParens As Integer, RightParens As Integer Dim MsgText As String Dim OpenChar As String Dim CloseChar As String OpenChar = "(" CloseChar = ")" MsgText = "***Unbalanced parens in the next paragraph" NumPara = ActiveDocument.Paragraphs.Count ReDim CheckP(NumPara) For J = 1 To NumPara CheckP(J) = False WorkPara = ActiveDocument.Paragraphs(J).Range.Text If Len(WorkPara) <> 0 Then LeftParens = CountChars(WorkPara, OpenChar) RightParens = CountChars(WorkPara, CloseChar) If LeftParens <> RightParens Then CheckP(J) = True End If Next J For J = NumPara To 1 Step -1 If CheckP(J) Then Selection.HomeKey Unit:=wdStory, Extend:=wdMove If J > 1 Then Selection.MoveDown Unit:=wdParagraph, _ Count:=(J - 1), Extend:=wdMove End If Selection.InsertParagraphBefore Selection.MoveLeft Unit:=wdCharacter, Count:=1 Selection.Style = "Normal" Selection.TypeText Text:=MsgText End If Next J End Sub Private Function CountChars(A As String, C As String) As Integer Dim Count As Integer Dim Found As Integer Count = 0 Found = InStr(A, C) While Found <> 0 Count = Count + 1 Found = InStr(Found + 1, A, C) Wend CountChars = Count End Function
توجه داشته باشید که در واقع دو ماکرو در اینجا وجود دارد. تابع CountChars از داخل ماکرو اصلی CheckParens فراخوانی می شود. این ماکرو اخیر (CheckParens) است که در واقع باید در سند خود از آن استفاده کنید. هنگامی که ماکرو به پایان رسید، می توانید در سند جستجو کنید و به دنبال عبارت "***Unbalanced parens" باشید تا ببینید در کجا ممکن است مشکل داشته باشید.
همچنین توجه داشته باشید که نحوه نگارش این ماکرو، می توانید به راحتی آن را برای جستجوی سایر کاراکترهای "جفت شده" تغییر دهید. تنها کاری که باید انجام دهید این است که آنچه را که به متغیرهای OpenChar، CloseChar و MsgText اختصاص داده شده است، تغییر دهید. برای مثال، اگر می‌خواهید براکت‌های بی‌همتا را بررسی کنید، می‌توانید آن متغیرها را به این شکل تغییر دهید:
OpenChar = "[" CloseChar = "]" MsgText = "***Unbalanced brackets in the next paragraph"
اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوال مشابهی یافت نشد

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما

23.2k سوال

8.5k پاسخ

614 دیدگاه

11.1k کاربر

92 نفر آنلاین
0 عضو و 92 مهمان در سایت حاضرند
بازدید امروز: 8540
بازدید دیروز: 14089
بازدید کل: 20227584
...