作者:绿色风
分类:
时间:2022-08-18
浏览:177
楼主 xmyjk |
Q:如何使用WORD VBA获取word文档中的嵌入型文本框占用的range长度? 对于插入的文本框把它的版式设置为嵌入型的,那么它就嵌入到了文档中了,想获得这个文本框占用的Range的位置
A:可以用三种办法 1、利用selection- Option Explicit
- Sub test1()
- Dim sp As Shape
- For Each sp In ActiveDocument.Shapes
- sp.Select '选定文本框
- Debug.Print Selection.Range.Start, Selection.Range.End '输入其占用起始和终止位置。
- Next
- End Sub
2、利用Anchor.Words.First的相关属性- Option Explicit
- Sub test1()
- Dim sp As Shape
- For Each sp In ActiveDocument.Shapes
- Debug.Print sp.Anchor.Words.First.Start, sp.Anchor.Words.First.End
- Next
- End Sub
3、运用Anchor.Words(x)的相关属性- Option Explicit
- Sub test1()
- Dim sp As Shape
- For Each sp In ActiveDocument.Shapes
- Debug.Print sp.Anchor.Words(1).Start, sp.Anchor.Words(1).End
- Next
- End Sub
|
2楼 千年一梦遥 |
师傅的好料真多! |
3楼 BianChengNan |
哈哈,强力支持啊!以后要多发现问题,让版主解决啊 |
4楼 chenlifeng |
妃师祖: 1、如何显示文本框在word中的行位置呢?如是在第4行?
2、另外,如何按行数的大小顺序,来逐一显示文件框的内容?即: 有人建立了很多文本框,但实际并不是按建立的时间顺序来排序,东排一个西排一个,我想按word文档从前到尾的顺序,一行一行地,用VBA逐一查看,如何写代码?(可能文本框的位置与word的行有点不一样,但有一点能肯定是:它的位置不是在某一行上,就是在某两行的中间,所以也是能按顺序来查阅文本框的) |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一