参考群友万年书妖、火冷的代码,解决了图片在末尾会死循环的bug。
F9::
;删除Word文件图片后面的空行和空格
ow:=ComObjActive("word.Application")
cnt:=ow.ActiveDocument.InlineShapes.count
OutputDebug %cnt%
Loop % cnt
{
o:=ow.ActiveDocument.InlineShapes(A_Index)
if(o.type=3) ;图片
{
loop{
o.select
oText:=ow.selection.next(1,1) ;第二个参数是字符个数
if (ord(ow.selection.next(1,2).text)=0)
{
;如果是0就是文档结尾了,不处理会死循环。
MsgBox 处理完成!
break
}
if(ord(oText.text)=13) ;删除段落符号
{
oText.Delete
}
else if(ord(oText.text)=32) ;删除空格符号
{
待替换:=" "
替换成:=""
ow.Selection.Find.Execute(待替换, 1, ComObjMissing(), ComObjMissing(), ComObjMissing(), ComObjMissing(), ComObjMissing(), 1, ComObjMissing(), 替换成, 2)
}
else
break
}
}
}
return