3

この質問は非常に単純に聞こえるかもしれませんが、解決策が見つかりません。私がやろうとしているのは、MsWord でカーソル位置をテキストの最後に移動することです。私のコードは次のとおりです。

  object StartPos = 0;
  object Endpos = 1;
  Microsoft.Office.Interop.Word.Range rng= oDoc.Range(ref StartPos, ref Endpos);
  rng.Text = "This is first line Word from C#";

出力は

Iこれは C# の 1 行目の Word です

しかし、私はこのようなものが欲しい

これは C# Iの最初の行の Word です

皆さんありがとう

4

5 に答える 5

4

お返事ありがとうございます。簡単な解決策を見つけたようです。ハッサンの解決策を変更しようとしました。もっと簡単な方法があるかもしれませんが、今のところこれを見つけました

object NewEndPos = rng.StoryLength-1;
        rng = oDoc.Range(ref NewEndPos, ref NewEndPos);
        rng.Select();
于 2012-08-23T04:01:42.133 に答える
3

これはどう?Ctrl-Shift-End を押すのと同じです。wordドキュメントではなく、アプリケーションという言葉に注意してください。正しいアクティブ ドキュメントが既に選択されていると想定されます。

word.Selection.EndKey(WdUnits.wdStory);
于 2012-08-23T02:19:26.050 に答える
1
rng= oDoc.Range(ref Endpos, ref Endpos);
rng.Select();
于 2012-08-22T05:36:32.360 に答える
1

同様の質問 - Word 文書の先頭/末尾にカーソルを置きます

whichその答えは、とについて詳しく説明していwhatます。回答は c# と vb の間でマッシュアップされているため、ドキュメントの最後の部分に移動するためのわずかに異なる方法を使用する、さらに別の回答をここに含めます。

私の2セント:

//vb does this kind of thing for them
//but in c# we need an object we can pretend is null
object oMissing = System.Reflection.Missing.Value;

//Start Word and create a new document.
Word._Application oWord;
Word._Document oDoc; //whenever i read this i think 'hodor'
oWord = new Word.Application();
oWord.Visible = true;
oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,
  ref oMissing, ref oMissing);

object StartPos = 0;
object Endpos = 1;

Microsoft.Office.Interop.Word.Range rng = oDoc.Range(ref StartPos, ref Endpos);
rng.Text = "This is first line Word from C#";

//object what = Word.WdGoToItem.wdGoToLine;
//I couldn't get wdGoToLine to work but wdGoToPercent was happy
object what = Word.WdGoToItem.wdGoToPercent;
object which = Word.WdGoToDirection.wdGoToLast;

oWord.Selection.GoTo(ref what, ref which, oMissing, oMissing);

この方法は、カーソルを最後の行に移動するように単語に指示しないという点で少し異なりますが、ドキュメントの最後のパーセンテージは 100 であると想定する必要があります。 -行の文書ですが、カーソルが最初の行 (先頭) にあり、Word に最後の行に移動するように指示した場合、何も起こりません: 既に最後の行の先頭にいます。

于 2012-08-22T06:08:49.677 に答える
0

この方法を試してください:

oDoc.GoTo(ref what, ref which, ref missing, ref missing);
于 2012-08-22T05:33:59.583 に答える