gpt4 book ai didi

c# - Word Automation多重粘贴问题

转载 作者:行者123 更新时间:2023-12-01 20:24:49 25 4
gpt4 key购买 nike

是否有比通过 C# 剪贴板更好的方法将 HTML 片段粘贴到 Word 文档中?

using Word = Microsoft.Office.Interop.Word;

我正在使用一些代码将 HTML 放入剪贴板:

HtmlFragment.CopyToClipboard(changedText);

我在 word 中进行了选择(从表单字段),并且我这样做:

 word.Selection.Paste();

但有时它只是抛出 COM 异常。如果我添加

  Thread.Sleep(100);

我可以让它工作,但这并不理想。

插入方法看起来是一个更好的选择,但没有从 HTML 插入。

那么使用自动化界面快速将大量 HTML 片段插入到 Word 中的最佳方法是什么?

编辑

回复中有一些很好的建议,但问题很简单 <br>标签导致单词粘贴失败。

最佳答案

对于互操作,您需要使用 Selection.PasteSpecial 而不是 Selection.PasteWdPasteDataType wdPasteHTML

如果您使用的是新的 Word 格式(即 2007/2010),您可以完全放弃互操作,而直接使用 WordprocessingML(使用 Open XML SDK 或直接使用 Linq 和 System.IO 徒手操作) 。包装)。或者,如果需要的话,您可以将其与 Interop 结合使用。

如果您使用 Open XML,则只需使用 altChunk 即可导入 HTML。以下是 How to Use altChunk for Document Assembly 的示例(其中包括 HTML 示例) 。还有另一个(刚刚出版 - 今天发布):Importing HTML that contains Numbering using altChunk .

关于c# - Word Automation多重粘贴问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5438197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com