下面的这段VBA代码,在Word环境下使用,其功能是,在第三段的后面,插入一张图片。同时,设置图片的为紧密型。
ActiveDocument.Paragraphs(1).Range.Select
If (ActiveDocument.Paragraphs.Count > 3) Then
Dim MyRange As Range
Set MyRange = ActiveDocument.Range(Start:=ActiveDocument.Paragraphs(3).Range.End, _End:=ActiveDocument.Paragraphs(3).Range.End)
MyRange.Select
End If
'在文档中插入图片并设置图片为紧密型
Dim MyPic As InlineShape
Set MyPic = Selection.InlineShapes.AddPicture(ActiveDocument.Path & "\Pic\1.gif")
MyPic.LockAspectRatio = msoFalse
MyPic.Width = 100
MyPic.Height = 30
MyPic.ConvertToShape '转换图片,为环绕方式做准备
ActiveDocument.Shapes.Item(1).WrapFormat.Type = wdWrapThrough '设置图片为紧密型
Set MyPic = Nothing
注意,上面的代码,蓝色的那两部分,就是实现将图片插入到指定位置的关键代码。其中,先设置一个选择范围,即MyRange,该选择范围是从第三段的末尾到第三段的末尾,实际上就相当于将光标定位在第三段的段落标记那里了。最后,通过Selection在选中的范围插入图片,这样就实现目的了。效果图如下图。