Ms word 将具有邮件合并逻辑的WordPerfect文件转换为.docx

Ms word 将具有邮件合并逻辑的WordPerfect文件转换为.docx,ms-word,mailmerge,wordperfect,docx-mailmerge,Ms Word,Mailmerge,Wordperfect,Docx Mailmerge,我正在处理大量.frm和.wpdWordPerfect文件,我试图将它们转换为.docx,同时保留所有邮件合并逻辑 在WordPerfect X6中将文件保存为.docx,或在Word 2016中打开.frm/.wpd文件都会导致邮件合并代码完全丢失 有没有办法转换WordPerfect文件,使其在.docx格式中保留类似的合并功能?以下是一种有点疯狂的方法: 用于解析文档 收集所有相关的合并函数(有一组合并命令,您必须找出哪些需要转换为Word合并字段) 制作一个字典,将每个需要的合并函数翻译

我正在处理大量
.frm
.wpd
WordPerfect文件,我试图将它们转换为
.docx
,同时保留所有邮件合并逻辑

在WordPerfect X6中将文件保存为
.docx
,或在Word 2016中打开
.frm
/
.wpd
文件都会导致邮件合并代码完全丢失


有没有办法转换WordPerfect文件,使其在
.docx
格式中保留类似的合并功能?

以下是一种有点疯狂的方法:

用于解析文档

收集所有相关的合并函数(有一组合并命令,您必须找出哪些需要转换为Word合并字段)

制作一个字典,将每个需要的合并函数翻译成其WP字符串“code”(用于搜索目的)

编写一个简单的WordPerfect宏,使用传入的变量搜索每个合并“代码”,并用唯一的文本标记替换它们

使用WordPerfect.PerfectScript界面打开文档

使用PerfectFit.PerfectScript接口调用WP宏,并传入要替换为其唯一标记的每个合并函数。您不能通过.NET调用WordPerfect文档来搜索任何非ASCII文本的内容,因此您必须使用宏和PerfectFit来执行此操作(谢谢,Corel!)

将wpd文档另存为Word文档(或者更安全的做法是使用Office Interop)

使用officeinterop命令查找每个唯一的标记,并将其替换为新的合并字段(我对这部分的工作方式有点模糊)

这种方法有几个注意事项:

当前形式的WP_Reader不为任何合并函数建模。这需要一些编码,但方法非常简单。我是唯一一个在这个项目上工作的人,还没有对这些功能的需要。所有合并函数要么没有参数,要么有一个或多个字符串。这些函数应该很容易建模,我可以帮助您开始

.frm
.dat
文件实际上是WordPerfect文件,设置为合并文档和用于合并文档的数据源(可能它们也用于其他目的)。您可以使用WP_Reader对这些文件进行建模,建模方式与
.wpd
文件相同

只有当您有非常简单的合并文档时,这种方法才会起作用。WordPerfect merge arena包含自己的语言,与WP命令集分离。有
If
语句、
For
循环等,这些语句在Word文档中不会转换为任何有用的内容


在尝试此耗时的项目之前,请先查看LibreOffice是否将带有合并代码的wpd文件直接转换为
.odt
格式。该项目是LibreOffice中的一个内置程序,从2003年左右开始运行,他们可能已经整合了这一功能。从
.odt
转换到
.docx
应该很容易。

您需要在最终用户论坛上问这个问题,例如超级用户或Microsoft Answers,我相信…如果可以编写一个解析器来转换邮件合并语法,我愿意实现一个编程解决方案。您的问题太广泛,无法解决堆栈溢出问题。我已经很久没有看WordPerfect了(在DOS时代,我用它做了很多邮件合并)。据我回忆,它使用了一种非常不同的方法,除了在最简单的情况下,几乎不能直接转换成单词。最终用户可能更熟悉事物的不同之处以及如何将WP转换为Word。一旦您了解了逻辑,那么您就开始考虑可以通过编程来完成什么。