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

استیو سندی با متن دارد که نشان می دهد یک تصویر باید کجا قرار گیرد. این متن از نام تصویر (مانند "image01.jpg") در داخل پرانتز تشکیل شده است. او به دنبال راهی برای جایگزینی خودکار نام هر تصویر با تصویر واقعی است.

این کار را نمی توان با قابلیت Find and Replace معمولی Word انجام داد، اما می توان آن را با استفاده از ماکرو انجام داد. ایده این است که در سند به دنبال متن نشانگر (نام تصویر) بگردید و اگر یکی پیدا شد، نام تصویر را بگیرید و متن نشانگر را با تصویر واقعی جایگزین کنید. در اینجا یک ماکرو است که این مراحل را اجرا می کند:

Sub ReplaceImages()
    Dim sMarkerText As String
    Dim sFigName As String
    Dim sFigPath As String

    " Change to the path to the pictures, with a trailing slash.
    sFigPath = "C:UsersStevePictures"

    " Change to marker text. Can include wildcards.
    sMarkerText = "(image??.jpg)"

    " Search through document for marker text
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = sMarkerText
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute
    While Selection.Find.Found
        " Found a match, so grab name
        " Need to adjust for parens in marker text
        sFigName = Mid(Selection, 2, Len(Selection) - 2)

        " Delete the marker text
        Selection.Delete

        " Insert the picture
        Selection.InlineShapes.AddPicture FileName:= _
          sFigPath & sFigName, LinkToFile:=False, _
          SaveWithDocument:=True
        Selection.Find.Execute
    Wend
End Sub

دو چیز وجود دارد که باید در کد ماکرو تغییر دهید: مقادیر ذخیره شده در متغیرهای sFigPath و sMarkerText. محتویات sMarkerText، همانطور که نشان داده شده است، با هر پرانتزی که در آن کلمه "تصویر" با دو کاراکتر (مانند 01، 02، 97 یا XY) و پسوند ".jpg" دنبال می شود، مطابقت دارد.

متد Find از شی Selection یک عمل Find واقعی را برای اولین رخداد متن نشانگر پیاده سازی می کند. اگر پیدا شد، کد موجود در حلقه while...Wend وارد بازی می شود. این نام فایل را می گیرد و آن را به متغیر sFigName اختصاص می دهد. سپس متن نشانگر یافت شده حذف می شود و یک تصویر درون خطی به جای آن درج می شود. در نهایت، خط Selection.Find.Execute رخداد بعدی متن نشانگر را، در صورت وجود، پیدا می کند.

ماکرو تصاویر را به صورت درون خطی وارد می کند و هیچ پردازش اضافی روی آنها انجام نمی دهد.

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

پاسخ شما

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

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

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

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
1 پاسخ 52 visibility
0 دوستدار 0 امتیاز منفی
1 پاسخ 55 visibility
0 دوستدار 0 امتیاز منفی
1 پاسخ 242 visibility
ارسال شده در 26 بهمن 1401 موضوع: عمومی توسط: ashnayedel

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

296 نفر آنلاین
0 عضو و 296 مهمان در سایت حاضرند
بازدید امروز: 39781
بازدید دیروز: 25180
بازدید کل: 20377105
...