[AHK]删除word中图片后面的空行和空格

参考群友万年书妖、火冷的代码,解决了图片在末尾会死循环的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

 

你可能感兴趣的:(AHK,AutoHotkey,Word)