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。一旦您了解了逻辑,那么您就开始考虑可以通过编程来完成什么。