If Selection.Start = Selection.End Then Selection.TypeText "&" Selection.TypeText "&" Else Dim tmpStart As Integer tmpStart = Selection.Start Selection.MoveRight Selection.TypeText "&" Selection.SetRange tmpStart, tmpStart Selection.TypeText "&" End If
很明显楼上的方法是错误的,因为你加入了字符之后,行的内容也变了。 比如原先 XXXXXXXXXX 你加入了&XXXXXXXX&之后,最有可能的是变为 &XXXXXXX &X 当然,由于你设置的行对齐方式不同,会有不同的效果。 所以唯一正确的做法是在(wird 2003下) for i = selection.words.first.information wdadjustedpageNumber to selection.words.last.information wdadjustedpageNumber 对每页的每一行做处理 for j= ... to ...pages(i).lines.count set myline = ....pages(i).lines(j) myline.range.insertbefore("&") while (myline.range.characters.last <> ""&) myrange.insertafter("&")loopit's ok! 不过可能会有多余的&号! 以上是大致程序,请自己修改
Selection.TypeText "&"
Selection.TypeText "&"
Else
Dim tmpStart As Integer
tmpStart = Selection.Start
Selection.MoveRight
Selection.TypeText "&"
Selection.SetRange tmpStart, tmpStart
Selection.TypeText "&"
End If
比如原先 XXXXXXXXXX
你加入了&XXXXXXXX&之后,最有可能的是变为
&XXXXXXX
&X
当然,由于你设置的行对齐方式不同,会有不同的效果。
所以唯一正确的做法是在(wird 2003下)
for i = selection.words.first.information wdadjustedpageNumber to selection.words.last.information wdadjustedpageNumber
对每页的每一行做处理
for j= ... to ...pages(i).lines.count
set myline = ....pages(i).lines(j)
myline.range.insertbefore("&")
while (myline.range.characters.last <> ""&)
myrange.insertafter("&")loopit's ok! 不过可能会有多余的&号!
以上是大致程序,请自己修改
selection.insertbefore "&"
selection.insertafter "&"