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

Suman باید از یک ماکرو برای درج تصویر در صفحه 10 یک سند خاص استفاده کند. او در مورد بهترین راه، در کلان، برای انجام این کار متعجب است.

اگر می خواهید تصویر تنها مورد صفحه 10 باشد، کار نسبتاً آسان است: از ماکرو برای مکان یابی صفحه 10 استفاده کنید، تصویر را وارد کنید، و سپس یک صفحه شکسته را بعد از تصویر وارد کنید. سپس همه چیز پس از تصویر را با یک صفحه بالا می برد، به طوری که صفحه قدیمی 10 به صفحه 11، صفحه 11 تبدیل به صفحه 12 و غیره می شود.

Sub InsertImage1()
    Dim PicPath As String

    PicPath = "C:My PicturesMy Scansscan0002.jpg"
    ActiveDocument.GoTo(What:=wdGoToPage, Count:=10).Select
    Selection.InlineShapes.AddPicture FileName:=PicPath, _
      LinkToFile:=False, SaveWithDocument:=True
    Selection.InsertBreak Type:=wdPageBreak
End Sub

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

Sub InsertImage2()
    Dim PicPath As String
    Dim aShape As Shape

    PicPath = "C:My PicturesMy Scansscan0002.jpg"
    ActiveDocument.GoTo(What:=wdGoToPage, Count:=10).Select
    Set aShape = Selection.InlineShapes.AddPicture(FileName:=PicPath, _
      LinkToFile:=False, SaveWithDocument:=True).ConvertToShape
    With aShape
        .WrapFormat.Type = wdWrapTight
        .RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
        .RelativeVerticalPosition = wdRelativeVerticalPositionPage
        .Top = wdShapeCenter
        .Left = wdShapeCenter
        .Select
    End With
End Sub

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

Sub ReplaceImage()
    Dim r1 As Range
    Dim r2 As Range
    Dim nPages As Long
    Dim nP As Long
    Dim PicPath As String
    Dim sTemp As String

    PicPath = "C:My PicturesMy Scansscan0002.jpg"
    nP = 10    " Page number on which to replace the image

    sTemp = ""
    nPages = ActiveDocument.ComputeStatistics(statistic:=wdStatisticPages)
    If nP > nPages Then
        sTemp = "You are trying to go to a non-existent page"
    Else
        Set r1 = ActiveDocument.GoTo(What:=wdGoToPage, Count:=nP)
        If nP = nPages Then
            Set r2 = ActiveDocument.Range
            r1.End = r2.End
        Else
            Set r2 = ActiveDocument.GoTo(What:=wdGoToPage, Count:=nP + 1)
            r1.End = r2.Start - 2
        End If
        If r1.InlineShapes.Count = 0 Then
            sTemp = "Page " & nP & " does not have an inline picture"
        Else
            r1.InlineShapes(1).Select
            Selection.InlineShapes.AddPicture FileName:=PicPath, _
              LinkToFile:=False, SaveWithDocument:=True
        End If
    End If
    If sTemp > "" Then MsgBox sTemp
End Sub
اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

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

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

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

سوالات مشابه

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

25.1k سوال

10.4k پاسخ

614 دیدگاه

11.2k کاربر

392 نفر آنلاین
1 عضو و 391 مهمان در سایت حاضرند
اعضای حاضر در سایت
بازدید امروز: 28760
بازدید دیروز: 38614
بازدید کل: 20500569
...