VBA问题,如何选择文本框内的第一个或第N个字符

VBA问题,如何选择文本框内的第一个或第N个字符,第1张

你的题目要求的还是可以实现的,但是要是获取光标位置的字符,还没有见过,

第一个字符 = Mid(Text1Text, 1, 1)

n = 4

If n > Len(Text1Text) Then n = Len(Text1Text)

第N个字符 = Mid(Text1Text, n, 1)

MsgBox 第一个字符 & "," & 第N个字符

移动光标至文档开始

SelectionHomeKey unit:=wdStory

下面的供参考:

Sub MoveToCurrentLineStart()

'移动光标至当前行首

SelectionHomeKey unit:=wdLine

End Sub

Sub MoveToCurrentLineEnd()

'移动光标至当前行尾

SelectionEndKey unit:=wdLine

End Sub

Sub SelectToCurrentLineStart()

'选择从光标至当前行首的内容

SelectionHomeKey unit:=wdLine, Extend:=wdExtend

End Sub

Sub SelectToCurrentLineEnd()

'选择从光标至当前行尾的内容

SelectionEndKey unit:=wdLine, Extend:=wdExtend

End Sub

Sub SelectCurrentLine()

'选择当前行

SelectionHomeKey unit:=wdLine

SelectionEndKey unit:=wdLine, Extend:=wdExtend

End Sub

Sub MoveToDocStart()

'移动光标至文档开始

SelectionHomeKey unit:=wdStory

End Sub

Sub MoveToDocEnd()

'移动光标至文档结尾

SelectionEndKey unit:=wdStory

End Sub

Sub SelectToDocStart()

'选择从光标至文档开始的内容

SelectionHomeKey unit:=wdStory, Extend:=wdExtend

End Sub

Sub SelectToDocEnd()

'选择从光标至文档结尾的内容

SelectionEndKey unit:=wdStory, Extend:=wdExtend

End Sub

Sub SelectDocAll()

'选择文档全部内容(从WholeStory可猜出Story应是当前文档的意思)

SelectionWholeStory

End Sub

Sub MoveToCurrentParagraphStart()

'移动光标至当前段落的开始

SelectionMoveUp unit:=wdParagraph

End Sub

Sub MoveToCurrentParagraphEnd()

'移动光标至当前段落的结尾

SelectionMoveDown unit:=wdParagraph

End Sub

Sub SelectToCurrentParagraphStart()

'选择从光标至当前段落开始的内容

SelectionMoveUp unit:=wdParagraph, Extend:=wdExtend

End Sub

Sub SelectToCurrentParagraphEnd()

'选择从光标至当前段落结尾的内容

SelectionMoveDown unit:=wdParagraph, Extend:=wdExtend

End Sub

Sub SelectCurrentParagraph()

'选择光标所在段落的内容

SelectionMoveUp unit:=wdParagraph

SelectionMoveDown unit:=wdParagraph, Extend:=wdExtend

End Sub

Sub DisplaySelectionStartAndEnd()

'显示选择区的开始与结束的位置,注意:文档第1个字符的位置是0

MsgBox ("第" & SelectionStart & "个字符至第" & SelectionEnd & "个字符")

End Sub

Sub DeleteCurrentLine()

'删除当前行

SelectionHomeKey unit:=wdLine

SelectionEndKey unit:=wdLine, Extend:=wdExtend

SelectionDelete

End Sub

Sub DeleteCurrentParagraph()

'删除当前段落

SelectionMoveUp unit:=wdParagraph

SelectionMoveDown unit:=wdParagraph, Extend:=wdExtend

SelectionDelete

End Sub

给个代码:

Private Sub Worksheet_Change(ByVal Target As Range)

r = SelectionRow

c = SelectionColumn

If c < 17 Then

Cells(r - 1, c + 1)Select

Else

Cells(r, 1)Select

End If

End Sub

用法:复制以上代码,右键点工作表标签,选查看代码,粘贴到新开的窗口中。关闭新窗口,回到Excel中,就可以使用了。

晕,不知道你解决了没有,看一下下面

代码

,你应该能举一反三。

If

ActiveDocumentRangeEnd

=

SelectionStart

+

1

Then

MsgBox

"页尾"

Else

MsgBox

Selectionend

+

1

'当前位置

End

If

Selection的end

和start

视需要而定,折叠状态下是一样的。

我觉得从逻辑上是行不通的

因为

假定原光标在a文本框

我们可以设置一个中间变量存放当前光标(在a)的位置

现在鼠标指针移动到b文本框

如果双击时触发一个事件

则可以在此事件过程中将b的内容写入中间变量指示的(a)位置

即可满足你的要求

但是,双击好像是触发两个事件

一个是单击、一个是双击

当触发单击时

中间变量的指针指向了b

那么双击事件的过程就只能将b的内容赋给了b而不是a

建议在每个文本框旁添加一个按钮

仍然设置中间变量存放光标所在位置

当想要把某个文本框的内容赋给它时

单击该文本框旁的按钮

就可以实现你的要求了

(水平有限,仅供参考)

以上就是关于VBA问题,如何选择文本框内的第一个或第N个字符全部的内容,包括:VBA问题,如何选择文本框内的第一个或第N个字符、word vba怎样把光标定位到指定字符串的位置、VBA光标定位等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9428407.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存