2016-07-12 2 views
2

Ich habe VBA verwendet, um ein Word-Dokument zu erstellen, und ich habe ein Bild darin eingefügt.
Allerdings möchte ich das Bild genau unter dem letzten Absatz statt einer festen Position lokalisieren.
Der Anker scheint nicht richtig zu funktionieren, nachdem ich die PageSetup-Teile in den Code eingefügt habe. Habe ich etwas falsch gemacht?
Ist es möglich, das Bild direkt unter dem letzten Absatz zu positionieren, wenn ich keinen Anker verwenden kann?Wie positioniere ich das Bild direkt unter dem letzten Absatz in vba?

Public Sub create() 

Dim certpara As Word.Paragraph 
Dim certdoc As Word.Document 
Dim certapp As Word.Application 

Set certapp = New Word.Application 

certapp.Visible = True 

Set certdoc = certapp.Documents.Add 

certdoc.PageSetup.TopMargin = certapp.InchesToPoints(0.59) 
certdoc.PageSetup.BottomMargin = certapp.InchesToPoints(0.39) 
certdoc.PageSetup.LeftMargin = certapp.InchesToPoints(0.79) 
certdoc.PageSetup.RightMargin = certapp.InchesToPoints(0.79) 

Dim i As Integer 
Dim v As Integer 

v = Range("A1").Value 

For i = 1 To v 
    certdoc.Paragraphs.Add 
    Set certpara = certdoc.Paragraphs.Last 
    certpara.Range.Text = "aaa" 
Next i 

Dim location As String 
location = "D:\C3000.jpg" 

certdoc.Shapes.AddPicture Filename:=location, _ 
LinkToFile:=False, _ 
SaveWithDocument:=True, _ 
Left:=300, _ 
Top:=230, _ 
Anchor:=certpara.Range, _ 
width:=130, _ 
Height:=91 

certdoc.Shapes(1).WrapFormat.Type = wdWrapBehind 

End Sub 

Antwort

0

könnten Sie immer Lesezeichen die Position direkt nach dem letzten Absatz eingefügt wird, und legen Sie an dieser Position (anstelle des Ankers), oder legen Sie in einem neu definierten Bereich. Da der zweite ist weniger beteiligt: ​​

Nachdem Sie Ihre Bildstelle definieren:

certpara.Collapse wdCollapseStart 
'I had some trouble understanding your question so use the next line at your discretion 
certpara.MoveEnd Unit:=wdCharacter, Count:=-1 
certpara.Select 

ActiveDocument.Shapes.AddPicture FileName:=location, _ 
LinkToFile:=False, _ 
SaveWithDocument:=True, _ 
Anchor:=Selection.Range 
Verwandte Themen