[英]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.