C#控制定位Word光标移动到任意行或者最后一行,取得光标位置等操作

十一、上下左右移动光标位

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

}

十二、取得当前光标位

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()+”页”);

}

十三、定位到指定行或相对行

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

}

十四、定位到文档最后一行

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

}

十五、定位到第一个字符

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

}

十六、定位到最后一个字符

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

}

二十一、 取得行、列、页信息

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

}

来自:http://blog.csdn.net/jglie/article/details/7394256

时间: 2024-10-13 11:45:44

C#控制定位Word光标移动到任意行或者最后一行,取得光标位置等操作的相关文章

解决“Word无法访问您试图使用的功能所在的网络位置”问题

解决“Word无法访问您试图使用的功能所在的网络位置”问题 打开Word时出现现现在的对话框,按取消,又可以打开word文档 按取消时,仍然可以打开word文档.为了解决这个问题,我借助网络,知道这是一个word稿纸加载项,有多种解决办法 第一:重新安装 第二:把这个加载项删了.我选择了删除稿纸加载项. 其操作方法如下: 第一步:进入注册表,开始——搜索程序或文件——输入regedit回车进入注册表 第二步:备份注册表:文件——导出——保存(以防修改出错) 第三步:找到加载稿纸项,将其册除. [

Windows Server 2008 R2控制站点隐藏并限制访问任意盘符的组策略配制方法

域控隐藏盘符的设置项 在组策略管理编辑器中,依次打开的用户配置→策略→管理模板→Windows组件→Windows资源管理器,其中有两项: 隐藏"我的电脑"中的这些指定的驱动器 防止从"我的电脑"访问驱动器 只设置* 第一项 能让盘符在资源管理器窗口中消失,但是仍然可以通过快捷方式的打开文件位置等方式进入到磁盘:同时设置 第二项 *既能够隐藏盘符,也能避免用户通过其他方式直接在资源管理器中访问磁盘. 系统默认的配置方案 在上述两项的编辑窗口选择启用,发现系统默认都只

有定位的含有 input的弹框,在有些手机光标乱跳

弹框定位不能使用 fixed ,需要改成absolute .cus_dialog { height: 13.133333rem; width: 7.399999rem; position: absolute; top:6%; left: 50%; transform: translateX(-50%); z-index: 1000; }

Vim快速移动光标至行首和行尾

1. 需要按行快速移动光标时,可以使用键盘上的编辑键Home,快速将光标移动至当前行的行首.除此之外,也可以在命令模式中使用快捷键"^"(即Shift+6)或0(数字0). 2. 如果要快速移动光标至当前行的行尾,可以使用编辑键End.也可以在命令模式中使用快捷键"$"(Shift+4).与快捷键"^"和0不同,快捷键"$"前可以加上数字表示移动的行数.例如使用"1$"表示当前行的行尾,"2$&q

bat中for /f 如何截取任意行

一.概述 for命令开关有很多,/L,/F,/R.这里仅对含有/F的for进行分析,这个可能是最常用的,也是最强的命令,主要用来处理文件和一些命令的输出结果. 1.命令格式:(1).FOR /F ["options"] %%i IN (file) DO command(2).FOR /F ["options"] %%i IN ("string") DO command--注意双引号(3).FOR /F ["options"]

js实现文本框文本域光标处插入图片文本的插件(并且光标在插入内容的内容后显示)

js: /******************************************* * * 插入光标处的插件 * @authors Du xin li * @update    2015-10-25 **********************************************/ $.fn.extend({      insertContent : function(myValue, t) {          var that = $(this);        v

关于iOS 7以后textview 多行输入的时候,光标上下跳动的解决方法

光标上下跳动的问题: 解决办法 加入这个属性:    _myTextView.layoutManager.allowsNonContiguousLayout=NO;

word 嵌入式图片不能显示,只显示一行。

在word中插入图片"嵌入式"时,有时候会遇到图片只显示一部分. 只显示了一行,这是由于行间距的事儿,将行间距调整为单行,就可以解决问题了.

如何快速定位 Linux Panic 出错的代码行

问题描述 内核调试中最常见的一个问题是:内核Panic后,如何快速定位到出错的代码行? 就是这样一个常见的问题,面试过的大部分同学都未能很好地回答,这里希望能够做很彻底地解答. 问题分析 内核Panic时,一般会打印回调,并打印出当前出错的地址: kernel/panic.c:panic(): #ifdef CONFIG_DEBUG_BUGVERBOSE /* * Avoid nested stack-dumping if a panic occurs during oops processin