发布时间:2019-12-02编辑:佚名阅读(1856)
1、上下左右移动光标位
private void moveLeft() { object moveUnit = Microsoft.Office.Interop.Word.WdUnits.wdWord; object moveCount = 1; object moveExtend = Microsoft.Office.Interop.Word.WdMovementType.wdExtend; thisDocument.Application.Selection.MoveLeft(ref moveUnit, ref moveCount, ref MissingValue); } private void moveRight() { if(selection==null||selection!=document.Application.Selection) selection=document.Application.Selection; object dummy=System.Reflection.Missing.Value; object count=1; object Unit=Word.WdUnits.wdCharacter; selection.MoveRight(ref Unit,ref count,ref dummy); }
2、取得当前光标位
public void GetCursor() { if(selection==null||selection!=document.Application.Selection) selection=document.Application.Selection; object a=selection.get_Information(Word.WdInformation.wdFirstCharacterLineNumber); object b=selection.get_Information(Word.WdInformation.wdFirstCharacterColumnNumber); object c=selection.get_Information(Word.WdInformation.wdActiveEndAdjustedPageNumber); MessageBox.Show(a.ToString()+”行,”+b.ToString()+”列,”+c.ToString()+”页”); }
3、定位到指定行或相对行
/// <summary> /// 定位到指定行 /// </summary> /// <param name=”lineNum”>行号</param> private void gotoAbsolutLine(int lineNum) { if(selection==null||selection!=document.Application.Selection) selection=document.Application.Selection; object dummy=System.Reflection.Missing.Value; object what=Word.WdGoToItem.wdGoToLine; object which=Word.WdGoToDirection.wdGoToFirst; object count=lineNum; selection.GoTo(ref what,ref which,ref count,ref dummy); } /// <summary> /// 定位到相对行,例如+4 /// </summary> /// <param name=”lineNum”>行数</param> private void gotoOppositeLine(int lineNum) { if(selection==null||selection!=document.Application.Selection) selection=document.Application.Selection; object dummy=System.Reflection.Missing.Value; object what=Word.WdGoToItem.wdGoToLine; object which; if(lineNum<0) which=Word.WdGoToDirection.wdGoToPrevious; else which=Word.WdGoToDirection.wdGoToNext; object count=Math.Abs(lineNum); selection.GoTo(ref what,ref which,ref count,ref dummy); }
4、定位到文档最后一行
private void gotoLastLine(Document thisDocument) { object dummy = System.Reflection.Missing.Value; object what = WdGoToItem.wdGoToLine; object which = WdGoToDirection.wdGoToLast; object count = 99999999; thisDocument.Application.Selection.GoTo(ref what, ref which, ref count, ref dummy); }
5、定位到第一个字符
private void gotoFirstCharacter() { if(selection==null||selection!=document.Application.Selection) selection=document.Application.Selection; int oldLine=0; gotoAbsolutLine(1); object a=selection.get_Information(Word.WdInformation.wdFirstCharacterLineNumber);//得到当前行号 while(oldLine!=int.Parse(a.ToString()))//一直按右键,直到光标不再往下了为止 { oldLine++; moveRight(); a=selection.get_Information(Word.WdInformation.wdFirstCharacterLineNumber); } gotoAbsolutLine(int.Parse(a.ToString())); }
6、定位到最后一个字符
public void gotoLastCharacter() { if(selection==null||selection!=document.Application.Selection) selection=document.Application.Selection; gotoLastLine(); object dummy=System.Reflection.Missing.Value; object count=99999999; object Unit=Word.WdUnits.wdCharacter; selection.MoveRight(ref Unit,ref count,ref dummy); }
7、 取得行、列、页信息
public string WordGetRCP() { selection=document.Application.Selection;//wd.Selection; object a=selection.get_Information(Word.WdInformation.wdFirstCharacterLineNumber); object b=selection.get_Information(Word.WdInformation.wdFirstCharacterColumnNumber); object c=selection.get_Information(Word.WdInformation.wdActiveEndAdjustedPageNumber); return a.ToString()+”,”+b.ToString()+”,”+c.ToString(); }
上一篇:网易有道词典导致复制粘贴不能用
0人
0人
0人
0人