c#怎么判断光标是否在Word表格中

qq_35936020 2016-08-22 04:28:44
现在光标在第一行,我要光标向下移动26行 怎么判断光标出没出这个表格?C# VB的写法都行。
...全文
765 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-08-22
  • 打赏
  • 举报
回复
全部显示 处理 Range 对象 请参阅 特性 使用 Visual Basic 完成的一种通常的任务是在文档中指定一个区域,然后对该区域进行一些操作,例如插入文字或应用格式。例如,可能需要编写一个宏,用于在文档的某部分中查找一个单词或词组。文档的该部分可以用 Range 对象表示。定义 Range 对象后,就可以应用 Range 对象的方法和属性来修改该区域的内容。 Range 对象引用文档中的某一连续区域。每个 Range 对象都是通过开始和结束字符位置来定义的。类似于在文档中使用书签的方法,在 Visual Basic 过程中使用 Range 对象可以定义文档中指定的部分。Range 对象可以小至一个插入点,或大至包含整篇文档。但是与书签不同,Range 对象只在定义该对象的过程运行时才存在。 Start、End 和 StoryType 属性唯一地标识一个 Range 对象。Start 和 End 属性返回或设置 Range 对象的开始和结束字符的位置。文档开始处的字符位置为 0,第一个字符后的位置为 1,以此类推。StoryType 属性的 WdStoryType 常量可以代表 11 种不同的文字部分类型。 注意 Range 对象与所选内容无关。也就是说,可以定义和修改某区域而不改变当前的所选内容。也可在文档中定义多个区域,而每个文档窗格中只有一处所选内容。 使用 Range 方法 Range 方法用于在指定的文档中创建 Range 对象。Range 方法(该方法可用于 Document 对象)通过给定开始和结束位置,返回一个位于主文字部分中的 Range 对象。下列示例创建一个赋给变量的 Range 对象。 Sub SetNewRange() Dim rngDoc As Range Set rngDoc = ActiveDocument.Range(Start:=0, End:=10) End Sub 该变量引用活动文档中的前 10 个字符。当您将属性或方法应用于保存在变量中的 Range 对象时,可以看到已经创建了 Range 对象。下列示例对活动文档中的前 10 个字符应用加粗格式。 Sub SetBoldRange() Dim rngDoc As Range Set rngDoc = ActiveDocument.Range(Start:=0, End:=10) rngDoc.Bold = True End Sub 如果需要多次引用一个 Range 对象,可使用 Set 语句将该 Range 对象赋给一个变量。但是,如果仅需要对 Range 对象进行单独的一次操作,则不必将该对象保存在变量中。只使用一个标识区域并更改 Bold 属性的指令,也能得到相同的结果。 Sub BoldRange() ActiveDocument.Range(Start:=0, End:=10).Bold = True End Sub 类似于书签,一个区域可以跨越一组字符或标记文档中的某个位置。下列示例中的 Range 对象的开始和结束位置相同。该区域不包含任何文字。下列示例在活动文档的开头插入文字。 Sub InsertTextBeforeRange() Dim rngDoc As Range Set rngDoc = ActiveDocument.Range(Start:=0, End:=0) rngDoc.InsertBefore "Hello " End Sub 使用上述字符位置编号或使用诸如 Selection、Bookmark 或 Range 的 Start 和 End 属性可定义区域的开始和结束位置。下列示例创建一个 Range 对象,该对象从第二段开头开始,至第三段末尾后结束。 Sub NewRange() Dim doc As Document Dim rngDoc As Range Set doc = ActiveDocument Set rngDoc = doc.Range(Start:=doc.Paragraphs(2).Range.Start, _ End:=doc.Paragraphs(3).Range.End) End Sub 其他内容和示例,请参阅 Range 方法。 使用 Range 属性 有多种对象具有 Range 属性,例如 Paragraph、Bookmark 和 Cell,并且该属性用于返回 Range 对象。下列示例返回一个 Range 对象,该对象引用活动文档中的第一个段落。 Sub SetParagraphRange() Dim rngParagraph As Range Set rngParagraph = ActiveDocument.Paragraphs(1).Range End Sub 得到 Range 对象后,可使用它的任何属性或方法来修改该 Range 对象。下列示例选定活动文档中的第二个段落并将所选内容居中。 Sub FormatRange() ActiveDocument.Paragraphs(2).Range.Select Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify End Sub 若要对同一个 Range 对象应用多种属性或方法,可使用 With…End With 结构。下列示例设置活动文档中第一段的文字格式。 Sub FormatFirstParagraph() Dim rngParagraph As Range Set rngParagraph = ActiveDocument.Paragraphs(1).Range With rngParagraph .Bold = True .ParagraphFormat.Alignment = wdAlignParagraphCenter With .Font .Name = "Stencil" .Size = 15 End With End With End Sub 其他内容和示例,请参阅 Range 属性主题。 重新定义 Range 对象 使用 SetRange 方法可重新定义现有的 Range 对象。下列示例将一个区域定义为当前的所选内容。然后应用 SetRange 方法重新定义该区域,使之包含当前所选内容和接下来的 10 个字符。 Sub ExpandRange() Dim rngParagraph As Range Set rngParagraph = Selection.Range rngParagraph.SetRange Start:=rngParagraph.Start, _ End:=rngParagraph.End + 10 End Sub 其他内容和示例,请参阅 SetRange 方法。 注意 调试宏时,可使用 Select 方法来确保 Range 对象引用正确的文字区域。例如,下列示例选定一个引用活动文档中第二段和第三段的 Range 对象。然后设置所选内容的字体格式。 Sub SelectRange() Dim rngParagraph As Range Set rngParagraph = ActiveDocument.Paragraphs(2).Range rngParagraph.SetRange Start:=rngParagraph.Start, _ End:=ActiveDocument.Paragraphs(3).Range.End rngParagraph.Select Selection.Font.Italic = True End Sub
qq_35936020 2016-08-22
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
在Word 2003中开始记录宏,手动完成所需功能,结束记录宏,按Alt+F11键,查看刚才记录的宏对应的VBA代码?
这个我知道 我就是不知道怎么判断光标是不是已经离开了这一个表格到下一个表格中去了
赵4老师 2016-08-22
  • 打赏
  • 举报
回复
在Word 2003中开始记录宏,手动完成所需功能,结束记录宏,按Alt+F11键,查看刚才记录的宏对应的VBA代码?

863

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧