使用C#将我的光标移动到MsWord中的选定行

时间:2012-08-22 12:20:03

标签: c# ms-word office-interop

我在C#中进行Word自动化。我想将当前光标位置移动到选定的行号。

让我用一个例子来解释:

Line 1
Line 2
Line 3
Line 4

Line 6
Line 7

现在我故意将Line 5留空了。在Line 7之后,我想将光标移动到Line 5。我使用oWord.Selection.Range方法,但到目前为止没有运气。

1 个答案:

答案 0 :(得分:2)

好吧似乎没有人找到任何东西。让我帮助我的自己和其他可能面临这个问题的人

这里的逻辑是,每当你将光标移动到位置的顶部时,这里是第1行

   WRange.Range Myrng = oDoc.Range(ref StartPos, ref Endpos);
                   Myrng.Select();

                   object Story = WdUnits.wdLine;
                   oWord.Selection.EndKey(ref Story, ref extend);

                   object NewEndPos = oWord.Selection.End - 1;
                   Myrng = oDoc.Range(ref NewEndPos, ref NewEndPos);
                   Myrng.Select();

在此之后输出类似于第1行我 现在我将光标移动到第5行

                   object Count=5;
                   oWord.Selection.MoveDown(ref unit, ref Count, ref oMissing);

而Voila在这里你是第5行