2012-08-22 5 views
2

이 질문은 매우 간단 들릴 수도 있지만C#을 사용하여 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#"; 
을 다음과 같다 나는 text.My 코드의 끝에 MS 워드에서 내 커서 높은 게재 순위를 이동하기 위해 수행되어 노력하고 뭐야 위해 어떤 해결책을 찾을 수 없습니다입니다

출력이는 C#을에서 첫 번째 줄 말씀 그러나 나는이

뭔가를 원하는이

C#

에서 첫 번째 줄 말씀입니다

I입니다 나는

덕분에 모든

답변

3

그럼 내가 간단한 해결책이다 하산의 전부 해결이 훨씬 쉽게 접근 할 수있는 수정하려하지만 지금의 나는이

object NewEndPos = rng.StoryLength-1; 
     rng = oDoc.Range(ref NewEndPos, ref NewEndPos); 
     rng.Select(); 
발견했다 알아 낸 것 같다 당신의 응답을 여러분 모두 감사합니다
1

이 방법을 시도해보십시오

oDoc.GoTo(ref what, ref which, ref missing, ref missing); 
+0

작동하지 않는 것 같습니다. – Rohit

2
rng= oDoc.Range(ref Endpos, ref Endpos); 
rng.Select(); 
2

Similar question - Position cursor at start/end of Word document

그 대답은 whichwhat에 대한 자세한 내용이수록. 대답은 일종의 C#과 VB 사이에 매시되었으므로 또 다른 대답을 여기에 포함합니다. 여기서는 문서의 마지막 부분으로 약간 다른 방법을 사용합니다.

내 두 센트 :

//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); 

이 방법은, 그것은 마지막 줄에 커서를 이동하는 단어를 말하지 않는 약간 다르지만 마지막 문서의 비율있는 나는 것 1 라인 문서에서 라인의 끝이 될 것입니다. 그러나 커서가 첫 번째 줄 (시작 부분)에 있고 Word에서 마지막 줄로 이동한다고하면 아무 일도 일어나지 않습니다 : 우리는 이미 으로 시작합니다.

2

어때? Ctrl-Shift-End를 누르는 것과 같습니다. word은 문서가 아니라 애플리케이션이라는 단어입니다. 올바른 활성 문서가 이미 선택되어 있다고 가정합니다.

word.Selection.EndKey(WdUnits.wdStory); 
관련 문제