如何获得word中光标(不是鼠标)当前的位置

时间:2022-02-12 10:30:36
我想在VB中获得word中光标(不是鼠标)当前的位置,然后准备在当前位置插入文本框。有什么办法?

7 个解决方案

#1


selection.insert

#2


对不起,刚才告诉你的又问题,光标的位置可以通过selection对象来引用
selection.CreateTextbox

#3


上述代码只能手动插入,我要的是自动插入,并且定位在光标当前位置。若能获得光标的x,y值,我就能解决问题了。

#4


参阅WORD帮助中的SELECTION对象中的Information 属性说明,先取出要填充的位置,以便以后按指定位置填充:

Information 属性
                

返回有关指定的所选内容或区域的信息。Variant 类型,只读。

语法

expression.Information(Type)

expression   必需。该表达式返回一个 Range 或 Selection 对象。

Type   Long 类型,必需。需要返回的信息。可取下列 WdInformation 常量之一: 

wdActiveEndAdjustedPageNumber    返回页码,在该页中包含指定的所选内容或区域的活动结尾。如果设置了一个起始页码,并对页码进行了手工调整,则返回调整过的页码(与 wdActiveEndPageNumber 不同)。


wdActiveEndPageNumber   返回页码,在该页中包含指定的所选内容或区域的活动结尾,页码从文档的开头开始计算而不考虑对页码的任何手工调整(与 wdActiveEndAdjustedPageNumber 不同)。


wdActiveEndSectionNumber   返回节号,在该节中包含了指定的所选内容或区域的活动结尾。


wdAtEndOfRowMarker   如果指定的所选内容或区域位于表格的行结尾标记处,则本参数返回 True。


wdCapsLock   如果大写字母锁定模式有效,则本参数返回 True。


wdEndOfRangeColumnNumber   返回表格列号,在该表格列中包含了指定的所选内容或区域的活动结尾。


wdEndOfRangeRowNumber   返回表格行号,在该表格行包含了指定的所选内容或区域的活动结尾。


wdFirstCharacterColumnNumber   返回指定的所选内容或区域中第一个字符的位置。如果所选内容或区域是折叠的,则返回所选内容或区域右侧紧接着的字符编号(这个编号与状态栏中“列”后面的字符列数相同)。


wdFirstCharacterLineNumber   返回所选内容中第一个字符的行号。如果 Pagination 属性为 False,或 Draft 属性为 True,则返回 - 1。


wdFrameIsSelected   如果所选内容或区域是一个完整的图文框文本框,则本参数返回 True。


wdHeaderFooterType   返回一个值,该值表明包含了指定的所选内容或区域的页眉或页脚的类型,如下表所示。 值 页眉或页脚的类型 
- 1 无(所选内容或区域不在页眉或页脚中) 
0  偶数页页眉 
1 奇数页页眉(如果没有偶数或奇数页眉,则只是页眉) 
2 偶数页页脚 
3 奇数页页脚(如果没有偶数或奇数页脚,则只是页脚) 
4 第一个页眉 
5 第一个页脚 


wdHorizontalPositionRelativeToPage   返回指定的所选内容或区域的水平位置。该位置是所选内容或区域的左边与页面的左边之间的距离,以磅为单位(20 缇 = 1 磅, 72 磅 = 1 英寸)。如果所选内容或区域不可见,则返回 - 1。


wdHorizontalPositionRelativeToTextBoundary   返回指定的所选内容或区域相对于周围最近的正文边界的左边的水平位置,以磅为单位(20 缇 = 1 磅, 72 磅 = 1 英寸)。如果所选内容或区域没有显示在当前屏幕,则本参数返回 - 1。


wdInClipboard   有关此常量的详细内容,请参阅 Microsoft Office 98 Macintosh 版的语言参考帮助。


wdInCommentPane   如果指定的所选内容或区域位于批注窗格,则返回 True。


wdInEndnote   如果指定的所选内容或区域位于页面视图的尾注区内,或者位于普通视图的尾注窗格中,则本参数返回 True。


wdInFootnote   如果指定的所选内容或区域位于页面视图的脚注区内,或者位于普通视图的脚注窗格中,则本参数返回 True。


wdInFootnoteEndnotePane   如果指定的所选内容或区域位于页面视图的脚注或尾注区内,或者位于普通视图的脚注或尾注窗格中,则本参数返回 True。详细内容,请参阅前面的 wdInFootnote 和 wdInEndnote 的说明。


wdInHeaderFooter   如果指定的所选内容或区域位于页眉或页脚窗格中,或者位于页面视图的页眉或页脚中,则本参数返回 True。


wdInMasterDocument   如果指定的所选内容或区域位于主控文档(也就是至少包含一个子文档的文档)中,则本参数返回 True。 
wdInWordMail   返回一个值,该值表明了所选内容或区域的的位置,如下表所示。值 位置 
0 所选内容或区域不在一条电子邮件消息中。 
1 所选内容或区域位于正在发送的电子邮件中。 
2 所选内容或区域位于正在阅读的电子邮件中。 


wdMaximumNumberOfColumns   返回所选内容或区域中任何行的最大表格列数。


wdMaximumNumberOfRows   返回指定的所选内容或区域中表格的最大行数。


wdNumberOfPagesInDocument   返回与所选内容或区域相关联的文档的页数。


wdNumLock   如果 Num Lock 有效,则本参数返回 True。


wdOverType   如果改写模式有效,则本参数返回 True。可用 Overtype 属性改变改写模式的状态。


wdReferenceOfType   返回一个值,该值表明所选内容相对于脚注、尾注或批注引用的位置,如下表所示。 值 描述 
 —  1 所选内容或区域包含、但不只限定于脚注、尾注或批注引用中。 
0 所选内容或区域不在脚注、尾注或批注引用之前。 
1 所选内容或区域位于脚注引用之前。 
2 所选内容或区域位于尾注引用之前。 
3 所选内容或区域位于批注引用之前。 


wdRevisionMarking   如果修订功能处于活动状态,则本参数返回 True。


wdSelectionMode   返回一个值,该值表明当前的选定模式,如下表所示。 值 选定模式 
0 常规选定 
1 扩展选定(在状态栏出现“扩展”字样) 
2 列选定(在状态栏出现“列”字样) 


wdStartOfRangeColumnNumber   返回所选内容或区域的起点所在的表格的列号。


wdStartOfRangeRowNumber   返回所选内容或区域的起点所在的表格的行号。


wdVerticalPositionRelativeToPage   返回所选内容或区域的垂直位置,即所选内容的上边与页面的上边之间的距离,以磅为单位(20 缇 = 1 磅, 72 磅 = 1 英寸)。如果所选内容或区域没有显示在屏幕上,则本参数返回 - 1。


wdVerticalPositionRelativeToTextBoundary   返回所选内容或区域相对于周围最近的正文边界的上边的垂直位置,以磅为单位(20 缇 = 1 磅, 72 磅 = 1 英寸)。如果所选内容或区域没有显示在屏幕上,则本参数返回 - 1。


wdWithInTable   如果所选内容位于一个表格中,则本参数返回 True。


wdZoomPercentage   返回由 Percentage 属性设置的当前的放大百分比。

#5


谢谢!问题解决

#6


好心人真多

#7


学习

#1


selection.insert

#2


对不起,刚才告诉你的又问题,光标的位置可以通过selection对象来引用
selection.CreateTextbox

#3


上述代码只能手动插入,我要的是自动插入,并且定位在光标当前位置。若能获得光标的x,y值,我就能解决问题了。

#4


参阅WORD帮助中的SELECTION对象中的Information 属性说明,先取出要填充的位置,以便以后按指定位置填充:

Information 属性
                

返回有关指定的所选内容或区域的信息。Variant 类型,只读。

语法

expression.Information(Type)

expression   必需。该表达式返回一个 Range 或 Selection 对象。

Type   Long 类型,必需。需要返回的信息。可取下列 WdInformation 常量之一: 

wdActiveEndAdjustedPageNumber    返回页码,在该页中包含指定的所选内容或区域的活动结尾。如果设置了一个起始页码,并对页码进行了手工调整,则返回调整过的页码(与 wdActiveEndPageNumber 不同)。


wdActiveEndPageNumber   返回页码,在该页中包含指定的所选内容或区域的活动结尾,页码从文档的开头开始计算而不考虑对页码的任何手工调整(与 wdActiveEndAdjustedPageNumber 不同)。


wdActiveEndSectionNumber   返回节号,在该节中包含了指定的所选内容或区域的活动结尾。


wdAtEndOfRowMarker   如果指定的所选内容或区域位于表格的行结尾标记处,则本参数返回 True。


wdCapsLock   如果大写字母锁定模式有效,则本参数返回 True。


wdEndOfRangeColumnNumber   返回表格列号,在该表格列中包含了指定的所选内容或区域的活动结尾。


wdEndOfRangeRowNumber   返回表格行号,在该表格行包含了指定的所选内容或区域的活动结尾。


wdFirstCharacterColumnNumber   返回指定的所选内容或区域中第一个字符的位置。如果所选内容或区域是折叠的,则返回所选内容或区域右侧紧接着的字符编号(这个编号与状态栏中“列”后面的字符列数相同)。


wdFirstCharacterLineNumber   返回所选内容中第一个字符的行号。如果 Pagination 属性为 False,或 Draft 属性为 True,则返回 - 1。


wdFrameIsSelected   如果所选内容或区域是一个完整的图文框文本框,则本参数返回 True。


wdHeaderFooterType   返回一个值,该值表明包含了指定的所选内容或区域的页眉或页脚的类型,如下表所示。 值 页眉或页脚的类型 
- 1 无(所选内容或区域不在页眉或页脚中) 
0  偶数页页眉 
1 奇数页页眉(如果没有偶数或奇数页眉,则只是页眉) 
2 偶数页页脚 
3 奇数页页脚(如果没有偶数或奇数页脚,则只是页脚) 
4 第一个页眉 
5 第一个页脚 


wdHorizontalPositionRelativeToPage   返回指定的所选内容或区域的水平位置。该位置是所选内容或区域的左边与页面的左边之间的距离,以磅为单位(20 缇 = 1 磅, 72 磅 = 1 英寸)。如果所选内容或区域不可见,则返回 - 1。


wdHorizontalPositionRelativeToTextBoundary   返回指定的所选内容或区域相对于周围最近的正文边界的左边的水平位置,以磅为单位(20 缇 = 1 磅, 72 磅 = 1 英寸)。如果所选内容或区域没有显示在当前屏幕,则本参数返回 - 1。


wdInClipboard   有关此常量的详细内容,请参阅 Microsoft Office 98 Macintosh 版的语言参考帮助。


wdInCommentPane   如果指定的所选内容或区域位于批注窗格,则返回 True。


wdInEndnote   如果指定的所选内容或区域位于页面视图的尾注区内,或者位于普通视图的尾注窗格中,则本参数返回 True。


wdInFootnote   如果指定的所选内容或区域位于页面视图的脚注区内,或者位于普通视图的脚注窗格中,则本参数返回 True。


wdInFootnoteEndnotePane   如果指定的所选内容或区域位于页面视图的脚注或尾注区内,或者位于普通视图的脚注或尾注窗格中,则本参数返回 True。详细内容,请参阅前面的 wdInFootnote 和 wdInEndnote 的说明。


wdInHeaderFooter   如果指定的所选内容或区域位于页眉或页脚窗格中,或者位于页面视图的页眉或页脚中,则本参数返回 True。


wdInMasterDocument   如果指定的所选内容或区域位于主控文档(也就是至少包含一个子文档的文档)中,则本参数返回 True。 
wdInWordMail   返回一个值,该值表明了所选内容或区域的的位置,如下表所示。值 位置 
0 所选内容或区域不在一条电子邮件消息中。 
1 所选内容或区域位于正在发送的电子邮件中。 
2 所选内容或区域位于正在阅读的电子邮件中。 


wdMaximumNumberOfColumns   返回所选内容或区域中任何行的最大表格列数。


wdMaximumNumberOfRows   返回指定的所选内容或区域中表格的最大行数。


wdNumberOfPagesInDocument   返回与所选内容或区域相关联的文档的页数。


wdNumLock   如果 Num Lock 有效,则本参数返回 True。


wdOverType   如果改写模式有效,则本参数返回 True。可用 Overtype 属性改变改写模式的状态。


wdReferenceOfType   返回一个值,该值表明所选内容相对于脚注、尾注或批注引用的位置,如下表所示。 值 描述 
 —  1 所选内容或区域包含、但不只限定于脚注、尾注或批注引用中。 
0 所选内容或区域不在脚注、尾注或批注引用之前。 
1 所选内容或区域位于脚注引用之前。 
2 所选内容或区域位于尾注引用之前。 
3 所选内容或区域位于批注引用之前。 


wdRevisionMarking   如果修订功能处于活动状态,则本参数返回 True。


wdSelectionMode   返回一个值,该值表明当前的选定模式,如下表所示。 值 选定模式 
0 常规选定 
1 扩展选定(在状态栏出现“扩展”字样) 
2 列选定(在状态栏出现“列”字样) 


wdStartOfRangeColumnNumber   返回所选内容或区域的起点所在的表格的列号。


wdStartOfRangeRowNumber   返回所选内容或区域的起点所在的表格的行号。


wdVerticalPositionRelativeToPage   返回所选内容或区域的垂直位置,即所选内容的上边与页面的上边之间的距离,以磅为单位(20 缇 = 1 磅, 72 磅 = 1 英寸)。如果所选内容或区域没有显示在屏幕上,则本参数返回 - 1。


wdVerticalPositionRelativeToTextBoundary   返回所选内容或区域相对于周围最近的正文边界的上边的垂直位置,以磅为单位(20 缇 = 1 磅, 72 磅 = 1 英寸)。如果所选内容或区域没有显示在屏幕上,则本参数返回 - 1。


wdWithInTable   如果所选内容位于一个表格中,则本参数返回 True。


wdZoomPercentage   返回由 Percentage 属性设置的当前的放大百分比。

#5


谢谢!问题解决

#6


好心人真多

#7


学习