繁体   English   中英

使用 Range.PasteAndFormat c# 时粘贴项的顺序

[英]Order of the paste item while using Range.PasteAndFormat c#

我正在尝试使用以下代码使用 Word 自动化将文本粘贴到循环中。

Clipboard.SetData(System.Windows.DataFormats.Rtf, text);
if (!Clipboard.ContainsText())
    Thread.Sleep(500);

initialRange.PasteAndFormat(WdRecoveryType.wdFormatOriginalFormatting);
initialRange.Collapse(WdCollapseDirection.wdCollapseEnd);

我有一组我尝试编写的字符串:

这是第 1 行
这是第 2 行
这是第 3 行

我希望输出以相同的顺序打印,但是在使用上面的代码时,我以相反的顺序输出,即

这是第 3 行
这是第 2 行
这是第 1 行

知道我需要做什么才能修复输出顺序吗?

最后,我想出了解决办法。 我不得不添加

“initialRange.MoveEnd();” PasteAndFormat 调用之前的行。

因此,最终代码看起来像

Clipboard.SetData(System.Windows.DataFormats.Rtf, text);
if (!Clipboard.ContainsData(DataFormats.Rtf))
    Thread.Sleep(500);

initialRange.MoveEnd();
initialRange.PasteAndFormat(WdRecoveryType.wdFormatOriginalFormatting);
initialRange.Collapse(WdCollapseDirection.wdCollapseEnd);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM