我继承了一个项目,该项目在数据库中存储基本的HTML格式(即 - < b >,<=> i <=>标签)并将其写入Word文档。这是我的第一个Word自动化任务,所以要温柔!

目前,有一个复杂的功能在文档完成后运行,搜索并替换这些标记。但是,由于这是在文档完成后运行的,因此在运行时确定的任何逻辑(即 - 在此处插入分页符)都可能导致灾难性的结果。例如,如果我有一大块粗体文本,这个粗体文本会占用更多空间并将行分解为下一页,从而导致大部分空白页。

我认为对此的修复是将文本格式化为数据库,因此定位逻辑将是正确的。我不想多次调用复杂的程序,因为它很耗时,我们的最终用户需要尽快获得这份文件。

是否有一种简单的方法可以将HTML格式的文本写入Word文档而无需查找和替换每个支持的标记?我认为Word中会有一些可以自动处理的东西。如果你能指出我正确的方向,请提前致谢。

有帮助吗?

解决方案

试试这个:

首先,将要插入的HTML保存为普通的<!>“.htm <!>”;文件。

然后使用Range对象并插入 InsertFile方法 <!>“; .htm <!>”;在任何给定位置提交文件:

Dim r As Range

Set r = ActiveDocument.Range
r.InsertFile FileName:=TempFilePath, Link:=False, ConfirmConversions:=False

Word应该足够聪明,可以处理HTML并自行完成所有格式转换。使用CSS来控制格式的更精细部分。

删除<!>“; .htm <!>”;文件完成后。

其他提示

也许您可以调用嵌入式IE(IWebBrowser2)来布局文本,然后以richtext格式复制到剪贴板,最后粘贴到Word作为RichText(格式化)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top