Shape
object of MS-Word can be used to insert pictures into word documents with VBA. If I insert a small picture and blow it up to use the entire page size, it creates a cool, almost psychedelic effect.
Here's the image: Its size is 20x30 pixels, approximately the aspect ratio of an A4 document.
The function, named main
needs a parameter, path
, that points to the location of the image:
sub main(path)
First, we declare a variable for the image (background_image
), which is a shape
), then load an image and assign it to the variable:
dim background_image as shape
set background_image = activeDocument.shapes.addPicture( _
fileName := path & "\background.png", _
linkToFile := false)
Then, we need to place the image's top left corner on the page's top left corner:
background_image.relativeVerticalPosition = _
wdRelativeVerticalPositionPage
background_image.top = 0
background_image.relativeHorizontalPosition = _
wdRelativeHorizontalPositionPage
background_image.left = 0
Finally, we want the image to be behind the text in case we're going to write on it:
background_image.zOrder msoSendBehindText
This VBA program should be saved into a file, for example backgroundImage.bas
. It can then be executed with a
runVBAFilesInOffice.vbs -word backgroundImage -c main %CD%
.
The resulting word (or image) then looks like
Links
See this link for runVBAFilesInOffice.vbs
.
Source code on github
No comments:
Post a Comment