Search code examples
ms-wordvb6

How To Position a Picture on A Second Page Of A Word Document VB6


I am making a program that repeatedly creates pages of an undefined quantity, and on the top of all the pages is a logo that is in a certain position. If I have everything in a for loop and at the end I include these commands to make a page break:

Set oRng = oDoc.Bookmarks("\EndOfDoc").Range oRng.InsertBreak

The second time (and subsequent times) the table I make goes on the the next page, but the image does not. I have tried setting the "top" property to

distFromTop + pageLength * pageNumber.

I would assume it might have to do with the anchor property, but I have no idea what data type that even gets or how it affects the placement I insert the image using:

oDoc.Shapes.AddPicture "C:\Users\name\Desktop\file.jpg", , , CentimetersToPoints(1.3), CentimetersToPoints(0.9 + pageLength * j), CentimetersToPoints(6.1), CentimetersToPoints(2.9)

The picture adds multiple times, but both to .9 from the top on the first page and 1.3 from the left, on the first page.

How can I make the pic go .9 from the top of a certain page

EDIT: I would like to avoid putting it in a header because that would mess up the alignment of the other elements of the doc


Solution

  • Ok, So what worked for me was this:

    Set oRng = oDoc.Bookmarks("\EndOfDoc").Range oRng.InsertBreak oDoc.Shapes.AddPicture "C:\Users\me\Desktop\file.jpg", , , CentimetersToPoints(1.3), CentimetersToPoints(0.9), CentimetersToPoints(6.1), CentimetersToPoints(2.9), oDoc.Bookmarks("\EndOfDoc").Range

    I still don't quite understand why it works, because the documentation for a range objects / anchors was fairly hard for me to understand... I tried this out and this worked. For my purposes that worked, but if anyone knows why that works I would love to know

    Thanks for your answers