【发布时间】:2019-02-09 01:54:26
【问题描述】:
全部。
我习惯在 Excel 中编写 VBA,但对 Word 中的结构不熟悉。 我正在通过一个文本文件库来更新它们。其中许多是 OCR 文档,或者是手动输入的。
每个都有一个重复的模式,其中最常见的是不必要的回车。
例如,我正在查看几个文本文件,其中每行后面都有一个双回车。搜索和替换所有双回车会删除所有段落区别。 但是,每行大约有 30 个字符长,如果我手动执行以下逻辑,它会给我一个功能文档。
如果在 30+ 个字符后有双回车,我用空格替换它们。 如果在双回车之前少于 30 个字符,我将它们替换为单回车。
谁能帮助我一些可以帮助我开始的基本代码?然后我可以为我拥有的每个文本文档的“模式”修改它。
例如
In this case, there are more than
thirty characters per line. And I
will keep going to illustrate this
example.
This would be a new paragraph, and
would be separated by another of
the single returns.
我想要返回的代码:
In this case, there are more than thirty character returns. And I will keep going to illustrate this example.<br>This would be a new paragraph, and would be separated by another of the single returns.
如果有人可以扔出我可以玩的东西,请告诉我!
【问题讨论】:
-
我试图调整您的示例,因为该网站的格式删除了多余的空格。不知道我是否做对了......我刚刚用一组大文件经历了类似的事情......最后在这个过程中弄清楚了RegEx。这可能是最简单/最快的方法...您使用过 RegEx 吗?此外,这是一次性的事情还是未来需要自动化的事情?如果一次性用于一组文件(或者很少可以手动完成),我可以使用 Notepad++ 进行步骤回答。否则,VBA+RegEx 可能会更好。只是为了确认一下,你说这些是 text* 文件? (不是
docx等) -
+1 表示 RegEx 和 NP++ 的想法...您可以在 VBA 中使用 RegEx,但需要进行一些设置...您可能想在这里搞砸:regex101.com/r/zG9GPw/1
-
太好了,谢谢,我会的!
-
@ashleedawg - 我刚刚开始玩了一下我没有使用过 RegEx,但它看起来确实很有用。它本质上是一次性的,所以如果你有使用 Notepad++ 的步骤,那就太好了。是的 - 这些是文本文件,不是 docx 或类似的东西。
标签: vba replace ms-word return paragraph