Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在当前选定内容之前获取文本

如何在当前选定内容之前获取文本
EN

Stack Overflow用户
提问于 2022-04-26 08:39:58
回答 2查看 124关注 0票数 1

我正在尝试创建一个用于Word的VBA宏,该宏在光标的位置插入一个字段。字段的类型将取决于光标前面的文本。我发现很难访问到那条短信。

以下是我尝试过的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MsgBox "Text before selection: " & ActiveDocument.Range(Selection.Start - 10, Selection.Start).Text

这在主文本中很好,但在文档的其他部分(头、页脚、文本帧、.)则失败。原因是ActiveDocument.Range创建的范围指向了主要的故事范围。是否有方法为Range的故事范围创建Selection

EN

回答 2

Stack Overflow用户

发布于 2022-04-26 08:39:58

Selection.Range已经是您要寻找的方法:它在与所选内容相同的故事范围内创建一个新的Range对象。将该Range存储在变量中,并更新其StartEnd属性以获取相邻文本。

无论文档的哪一部分被选中,此代码都会在选定之前获取文本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Dim oRng As Range
Set oRng = Selection.Range
With oRng
    .End = .Start
    .Start = .Start - 10
    MsgBox "Text before selection: " & .Text
End With

同时更新StartEnd属性的另一个选项是SetRange方法。

Update:通过With关键字,甚至可以避免变量声明和赋值。也就是说,这也很有效(但更难理解,涉及了多少对象):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
With Selection.Range
    .SetRange .Start - 10, .Start
    MsgBox "Text before selection: " & .Text
End With
票数 1
EN

Stack Overflow用户

发布于 2022-04-26 13:56:03

若要在选定内容之前获取文本,无需移动所选内容,可以使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
With Selection.Range.Duplicate
    .SetRange .Start - 10, .Start
    MsgBox "Text before selection: " & .Text
End With

或者,对于比前面10个字符(例如前两个单词)更有意义的内容,您可以使用如下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
With Selection.Range.Duplicate
  .End = .Words.First.Start
  .MoveStart wdWord, -2
  MsgBox "Text before selection: " & .Text
End With
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72017594

复制
相关文章
ThinkPHP 在页面获取当前时间
         date('Y-m-d H:i:s') 里面是format 的内容。
星宇大前端
2022/05/06
1.5K0
ThinkPHP 在页面获取当前时间
ThinkPHP 在页面获取当前时间
         date('Y-m-d H:i:s') 里面是format 的内容。
星宇大前端
2019/01/15
5.4K0
mysql如何获取当前时间
获得当前日期+时间(date + time)函数: select now(); select current_timestamp(); select localtime(); select localtimestamp(); select sysdate(); 设置默认当前时间: CURRENT_TIMESTAMP 获得当前日期(date)函数: curdate()  =  current_date() 获得当前时间(time)函数: curtime()  =  current_time() 获得当前 UT
红目香薰
2022/11/29
6.9K0
获取WebView里的网页文本内容[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116035.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/08
3.5K0
php获取文本内容并随机排列
作者:matrix 被围观: 2,657 次 发布时间:2014-03-09 分类:零零星星 | 20 条评论 »
HHTjim 部落格
2022/09/26
1.3K0
matplotlib:如何选定颜色
此颜色选择方式是由正则匹配的 C[0-9] 来确定颜色。只要是支持这种颜色的地方都可以通过这种方式来设置,而且也可以作为 matplotlib.Axes.plot 的单字符颜色。
bugsuse
2020/04/21
1.1K0
matplotlib:如何选定颜色
mysql如何获取当前时间_mysql怎么获取当前时间「建议收藏」
mysql获取当前时间的方法:可以通过执行【select now();】语句来获取当前时间。还可以通过执行【select current_timestamp, current_timestamp();】语句来获取。
全栈程序员站长
2022/11/08
14.3K0
mysql如何获取当前时间_mysql怎么获取当前时间「建议收藏」
pyqt5获取textedit内容_java点击按钮获取文本框内容
我想从PyQt5.qtwidgestQinputDialog中的用户获取多个输入文本。。。在这段代码中,我可以只得到一个输入文本框,当我被单击按钮时,我想得到更多的输入文本框。更多信息请参见图片。。。在from PyQt5.QtWidgets import (QApplication,QWidget,QPushButton,QLineEdit,QInputDialog,QHBoxLayout)
全栈程序员站长
2022/10/03
5.1K0
pyqt5获取textedit内容_java点击按钮获取文本框内容
前端如何获取当前时间_js 获取年份
大家好,又见面了,我是你们的朋友全栈君。 前端js获取当前时间的方法: var time = new Date(); time.getYear(); //获取当前年份 time.getF
全栈程序员站长
2022/11/09
34.1K0
前端如何获取当前时间_js 获取年份
前端页面,如何获取当前系统时间,并且在页面展示
目录 html页面代码 html页面代码 <script type="text/javascript"> Date.prototype.format = function (fmt) { var o = { "y+": this.getFullYear, //年 "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日
一写代码就开心
2022/05/09
1.3K0
前端页面,如何获取当前系统时间,并且在页面展示
java中获取当前时间_java如何获得当前时间
获取标准时间可以使用 System.currentTimeMillis() 方法来获取,此方法优势是不受时区的影响,但是得到结果是时间戳的格式,如:
全栈程序员站长
2022/10/04
4.5K0
java中获取当前时间_java如何获得当前时间
java中如何获取当前系统时间[通俗易懂]
java.util包中提供的和日期时间相关的类有Date类、Calendar类和SimpleDateFormat类等。
全栈程序员站长
2022/11/04
4.6K0
如何使用Java获取当前时间戳[通俗易懂]
这是两个Java示例,向您展示如何获取Java中的当前时间戳。 (使用Java 8更新)
全栈程序员站长
2022/08/10
7.9K0
js如何获取计算机当前时间,js获取当前系统时间实例代码
在javascript中使用date日期函数,取得当前系统时间的方法: var mydate = new date(); mydate.getyear(); //获取当前年份(2位) mydate.g
全栈程序员站长
2022/11/02
17.2K0
qlineedit 不可编辑_qt中获取lineedit文本内容
2.setPlaceholderText()设置提示文字 如图,搜索输入框,没有输入任何字符时,显示“搜索”,对用户输入作相关提示。
全栈程序员站长
2022/11/08
1.6K0
qlineedit 不可编辑_qt中获取lineedit文本内容
Python 爬虫使用Requests获取网页文本内容中文乱码
爬取的网页编码与我们爬取编码方式不一致造成的。如果爬取的网页编码方式为utf8,而我们爬取后程序使用ISO-8859-1编码方式进行编码并输出,这会引起乱码。如果我们爬取后程序改用utf8编码方式,就不会造成乱码。
smartsi
2019/08/07
14.3K0
html中如何写系统时间,在HTML页面获取当前系统时间
var ndate = years+”年”+month+”月”+days+”日 “+hours+”:”+minutes+”:”+seconds+” “+week;
全栈程序员站长
2022/11/02
3.9K0
java如何获取当前日期和时间
Java 8提供了一个全新的API,用以替换java.util.Date和java.util.Calendar。Date / Time API提供了多个类,帮助我们来完成工作,包括:
Java架构师必看
2021/09/14
3K0
点击加载更多

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文