我正在尝试编写一个子文件,将当前光标中的单词msgbox转换为word文档中的上一个分隔符(或标点符号,控件)。这是我在该函数中所写的内容。
Dim mStart = mwrdApp.Selection.Range.Start - 1 ' mwrdApp is current word application in my program Dim mEnd = mStart Dim mText = mwrdDoc.Range.Text ' mwrdDoc is current document opened in mwrdApp Dim mWord = "" Do If mStart = -1 Then Exit Do If Char.IsSeparator(mText(mStart)) Or Char.IsPunctuation(mText(mStart)) Or Char.IsControl(mText(mStart)) Then Exit Do mWord = mText(mStart) + mWord mStart -= 1 Loop MsgBox(mWord)
Here's the image of the document that I'm testing, with the position of the cursor
但是,msgbox显示“Test”而不是“TestingStrin”。
我不知道为什么会这样。任何人都可以向我解释这个吗?有没有办法解决这个问题?提前谢谢。
PS:
事实证明,mStart
的值为75
,mText
的长度为86
,这很奇怪(mStart
应该等于{{mText
的长度1}}减去1
)
另外,here's the value of mText。 “奇怪的角色”是表的格式吗?