ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
26 visibility
موضوع: آفیس توسط:

راس سعی می کند یک ماکرو بنویسد تا یک کادر متنی را در اطراف متن انتخاب شده قرار دهد (آن قسمت کار می کند) و سپس کادر را با پس زمینه شفاف، حاشیه شفاف و شناور در جلوی متن قالب بندی کند. متأسفانه ضبط کننده ماکرو چیزی جز درج کادر متنی ضبط نمی کند و راس نمی تواند دستوری را برای انجام سایر مراحل انجام دهد. او متعجب است که چگونه کلان را آنطور که دوست دارد کار کند.

ضبط ماکرو برای شروع کار با ماکروها به طور کلی یا برای استفاده در ماکروهای کوتاه فردی مفید است. کارهای بسیار بسیار زیادی وجود دارد که نمی توان با ضبط کننده ماکرو انجام داد، و لازم است ماکرو اولیه ضبط شده خود را بردارید، آن را در ویرایشگر VB بکشید و تغییراتی در آن ایجاد کنید تا آنچه را که می خواهید انجام دهد.

اگر مراحلی را که راس در درخواست خود بیان می کند دنبال کنم (متنی را انتخاب کنید، ضبط کننده ماکرو را روشن کنید، کادر متن را وارد کنید، آن را همانطور که توضیح داده شد قالب بندی کنید)، این چیزی است که ایجاد می کند:

Sub MyBox
"
" MyBox Macro
"
"
    Selection.CreateTextbox
End Sub

بسیار ساده - خطی که یک کادر متنی در اطراف انتخاب ایجاد می کند. هیچ یک از مراحل قالب بندی بعدی که من انجام دادم ضبط نشد، بنابراین اینجاست که نیاز به کدنویسی دستی در ویرایشگر VB مطرح می شود. برای اینکه ماکرو قالب بندی را انجام دهد، تنها کاری که باید انجام دهید این است که پس از ایجاد کادر متن، دستورات VBA مناسب را اضافه کنید تا این کار انجام شود:

Sub MyBox()
"
" MyBox Macro
"
"
    Selection.CreateTextbox
    Selection.ShapeRange(1).WrapFormat.Type = wdWrapFront
    Selection.ShapeRange(1).Line.Transparency = 1
    Selection.ShapeRange(1).Fill.Transparency = 1
    Selection.Font.ColorIndex = wdBlack
End Sub

به شرطی که ابتدا متنی را انتخاب کنید، این ماکرو یک کادر متنی ایجاد می کند که حاوی آن متن است و سپس آن را همانطور که راس می خواست قالب بندی می کند.

اگر ابتدا متن را انتخاب نکنید، هنگام اجرای ماکرو با خطا مواجه خواهید شد. در صورت تمایل می‌توانید ماکرو را به گونه‌ای تقویت کنید که بررسی کند که آیا انتخابی انجام شده است یا خیر. موارد زیر این کار را انجام می دهد و همچنین کد را کمی فشرده می کند:

Sub MyBox()
"
" MyBox Macro
"
"
    If Selection.Type <> wdSelectionIP Then
        With Selection
            .CreateTextbox
            .ShapeRange(1).WrapFormat.Type = wdWrapFront
            .ShapeRange(1).Line.Transparency = 1
            .ShapeRange(1).Fill.Transparency = 1
            .Font.ColorIndex = wdBlack
        End With
    Else
        MsgBox "No text selected!"
    End If
End Sub

اگر قالب‌بندی دیگری وجود دارد که می‌خواهید انجام دهید - مانند تغییر ابعاد جعبه متن - می‌توانید آن اطلاعات را در ماکرو نیز اضافه کنید. به سادگی خطوطی را اضافه کنید که ویژگی های .Height و ..Width شی ShapeRange را تنظیم می کند.

باز هم، این نوع کار با ماکروها را فقط می توان با نوشتن یا ویرایش دستی آنها انجام داد تا دقیقاً همان چیزی را که می خواهید به دست آورید - کاری که نمی توان با ضبط کننده ماکرو انجام داد.

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

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

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

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

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 23 visibility
ارسال شده در 25 تیر 1402 موضوع: آفیس توسط: Admin
0 دوستدار 0 امتیاز منفی
0 پاسخ 24 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 26 visibility
ارسال شده در 25 تیر 1402 موضوع: آفیس توسط: Admin
0 دوستدار 0 امتیاز منفی
0 پاسخ 27 visibility

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

322 نفر آنلاین
0 عضو و 322 مهمان در سایت حاضرند
بازدید امروز: 8668
بازدید دیروز: 25180
بازدید کل: 20346019
...