|
我使用的是ppt2003,多页面有多个文本框,删除所有页面文本框中的空格和空行,测试通过。欢迎指导、拍砖。
先给个思路:
1、遍历所有幻灯片。
2、遍历所有图形形状。
3、判断图形形状是否文本框。
4、当前文本框是否有文本。
5、遍历所有文本的每一个字符。
6、利用正则表达式判断“字符”是否是“空格”,是则删除(包括段前、段中、段后)。
7、利用正则表达式判断“字符”是否是空回车,是则删除(包括第一行、行与行间、最后一行)。
最后两点我思考的时间比较长,因为网络上ppt的资料比较少,几乎就找不到,用了三天时间,东拼西凑了一下,本人目前还是菜鸟级,欢迎高手指点。
部分代码如下:
- trng.Characters(i).Delete '清除行前行中的空格
- trng.Characters = Replace(trng.Characters, " " + vbCrLf, vbCrLf) '清除行末的空格
复制代码- trng.Characters = Replace(trng.Characters, vbCrLf + vbCrLf, vbCrLf) '清除行与行之间的空行
- If Left(trng.Characters, 2) = vbCrLf Then trng.Characters = Right(trng.Characters, Len(trng.Characters) - 2) '清除第一行的空行
- If Right(trng.Characters, 2) = vbCrLf Then trng.Characters = Left(trng.Characters, Len(trng.Characters) - 2) '清除最后一行的空行
复制代码 事实上,行末最后的空格,即使删除了应该还是存在1个的。一点遗憾的是应该在两个单词之间存在一个空格,就没保留了,下次再搞吧。已发表在“锐普”。http://portal.rapidbbs.cn/forum.php?mod=viewthread&tid=66126
附件如下:
|
|