Einfügen eines Bildes auf einer bestimmten Seite (Microsoft Word)
Suman muss ein Makro verwenden, um ein Bild auf Seite 10 eines bestimmten Dokuments einzufügen. Er fragt sich, wie er innerhalb des Makros am besten vorgehen kann.
Wenn Sie möchten, dass nur das Bild auf Seite 10 angezeigt wird, ist die Aufgabe recht einfach: Verwenden Sie das Makro, um Seite 10 zu suchen, das Bild einzufügen und nach dem Bild einen Seitenumbruch einzufügen. Dies stößt dann alles nach dem Bild um eine Seite an, so dass die alte Seite 10 zu Seite 11 wird, Seite 11 zu Seite 12 wird und so weiter.
Sub InsertImage1() Dim PicPath As String PicPath = "C:\My Pictures\My Scans\scan0002.jpg" ActiveDocument.GoTo(What:=wdGoToPage, Count:=10).Select Selection.InlineShapes.AddPicture FileName:=PicPath, _ LinkToFile:=False, SaveWithDocument:=True Selection.InsertBreak Type:=wdPageBreak End Sub
Das Makro fügt das Bild als Inline-Form ein. Wenn Sie möchten, können Sie das Bild als schwebende Form einfügen, sodass Text um das Bild gewickelt werden kann. Das folgende Makro erledigt dies und zentriert das Bild in der Mitte der Seite:
Sub InsertImage2() Dim PicPath As String Dim aShape As Shape PicPath = "C:\My Pictures\My Scans\scan0002.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
Wenn Sie möchten, dass Ihr Bild ein vorhandenes Bild ersetzt (möglicherweise durch ein aktualisiertes Bild), können Sie dies mit einem etwas komplexeren Makro tun.
Das folgende Makro sucht das erste Bild auf der gewünschten Seite und ersetzt es durch eine Inline-Form.
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 Pictures\My Scans\scan0002.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
WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.
(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (13139) gilt für Microsoft Word 2007, 2010, 2013, 2016, 2019 und Word in Office 365.