word文档中可以有文字、图片、表格、图形等各种对象。
有时候我们需要在word文档的结尾继续添加内容,这时候就需要定位到word文档的结尾位置。
在vba中 ,通过 Document对象的 Content 属性可以获取 word主文档的所有内容Range对象,通过Range对象的End属性即可获得文档结尾的位置。
如果要在文档结尾不断的添加内容,可以使用Range对象的InsertAfter方法。
如以下的代码在word文档的结尾不断的加入文字:
Sub exceloffice() '作者QQ:1722187970,微信:xycgenius,公众号:水星Excel Dim oRng As Range Dim oDoc As Document Set oDoc = Word.ActiveDocument Set oRng = oDoc.Content Debug.Print oRng.Start, oRng.End, oRng.Text oRng.InsertAfter "再来一次" '当插入文字以后,oRng对象自动包含了新插入的文字 Debug.Print oRng.Start, oRng.End, oRng.Text End Sub
如果要在结尾另起段落不断地添加内容,可以使用如下的代码:
Sub exceloffice() '作者QQ:1722187970,微信:xycgenius,公众号:水星Excel Dim oRng As Range Dim oDoc As Document Set oDoc = Word.ActiveDocument Set oRng = oDoc.Content Debug.Print oRng.Start, oRng.End, oRng.Text oRng.InsertParagraphAfter '当插入文字以后,oRng对象自动包含了新插入的文字 Debug.Print oRng.Start, oRng.End, oRng.Text oRng.InsertAfter "再来一次" '当插入文字以后,oRng对象自动包含了新插入的文字 Debug.Print oRng.Start, oRng.End, oRng.Text End Sub
如果还要对新插入的内容所在的段落进行操作,可以先用Range对象Collapse的方法折叠,然后再用Expand方法扩展到整个段落,代码如下:
Sub exceloffice() '作者QQ:1722187970,微信:xycgenius,公众号:水星Excel Dim oRng As Range Dim oDoc As Document Set oDoc = Word.ActiveDocument Set oRng = oDoc.Content Debug.Print oRng.Start, oRng.End, oRng.Text oRng.InsertParagraphAfter '当插入文字以后,oRng对象自动包含了新插入的文字 Debug.Print oRng.Start, oRng.End, oRng.Text oRng.InsertAfter "再来一次" '当插入文字以后,oRng对象自动包含了新插入的文字 Debug.Print oRng.Start, oRng.End, oRng.Text oRng.Collapse wdCollapseEnd oRng.Expand (wdParagraph) oRng.Select End Sub
发表评论