ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 5467|回复: 8

[求助]提取文本框中的内容

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-12-21 08:04 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我想把word中的所有文本框中的内容提取出来,放到word中原文本框(左上顶点的这一行)的地方,或者将文本框转化为文字,请问如何解决。 我写了一段代码,在文本框中作了一个标记,但粘贴过来的文字不在文本框原来的位置,而在word的第一行,应如何解决这个问题呢? Sub CoverText() Dim i As Shape, MyString As String Application.ScreenUpdating = False With ActiveDocument For Each i In .Shapes i.TextFrame.TextRange.InsertBefore "文本框(" i.TextFrame.TextRange.InsertAfter ")文本框" i.TextFrame.TextRange.WholeStory i.TextFrame.TextRange.Cut i.Delete Selection.Paste Next End With Application.ScreenUpdating = True End Sub 详细说明见附件 O0KdT3hE.rar (2.9 KB, 下载次数: 72)
[此贴子已经被作者于2005-12-21 20:40:23编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-12-21 12:55 | 显示全部楼层

各位大哥请回答呀,如何将各文本框中的内容剪切出来后,放到各文本框左上顶点所在行。

上面的代码只能将它取出来,但都放在了从word文档的第一行开始的位置,应写一个什么代码呢?

TA的精华主题

TA的得分主题

发表于 2005-12-21 17:02 | 显示全部楼层

上传个附件,把要求写清楚,也许大家更容易帮助你。

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-12-21 20:41 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-12-22 04:22 | 显示全部楼层

附件中的第二个文本框,你的锁定段落有问题。

请参考:

Sub Example()
Dim i As Shape, myText As String, myRange As Range
On Error Resume Next
Application.ScreenUpdating = False
For Each i In Me.Shapes
myText = "文本框(" & i.TextFrame.TextRange.Text & ")文本框"
Set myRange = i.Anchor.Paragraphs(1).Range
myRange.InsertBefore VBA.Replace(myText, Chr(13), "")
i.Delete
Next
Application.ScreenUpdating = True
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-12-22 08:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

谢谢守柔大哥,问题解决了。

TA的精华主题

TA的得分主题

发表于 2006-1-17 16:37 | 显示全部楼层

守柔大侠的代码运行速度很快,但我昨天编译时下面一句通不过(Me好像不能用在VBA吧!):

For Each i In Me.Shapes

我将其改写为:

For Each i In Word.ActiveDocument.Shapes

编译运行均OK!

现在有2个问题:
1. 文档中有些文本框是由多个文本框组合而成的,且可能有多级组合〔如有两个文本框先组合了(令为A),后来又加了一个文本框(令为B),将A和B又组合成一个大组合〕,运行以上代码时只会将这样的组合式文本框删除,但若手工彻底解除组合(包括解除多级组合)后,才能得到其中的文本。能不能在程序中加进彻底解除组合(包括解除多级组合)的功能呢?
2. 按以上代码运行时只能提取文本框中的文本,如文本框中含有格式,如包含上下标,由公式编辑器生成的公式(如分式、根式)等,能否将带格式的文本一起提出来呢?

TA的精华主题

TA的得分主题

发表于 2013-5-10 21:13 | 显示全部楼层
刚好有需要用的代码,学习了,也有共同的疑问,希望有人来解答。

TA的精华主题

TA的得分主题

发表于 2020-7-24 05:32 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
守柔 发表于 2005-12-22 04:22
附件中的第二个文本框,你的锁定段落有问题。
请参考:
Sub Example()    Dim i As Shape, myText As Str ...

word 文档,文本框里的表格如何导出到excel中.rar (323.84 KB, 下载次数: 4)
同文件夹里有word文档,是从PDF文件转换进入word的,每页的表格都包含在文本框中。
如何批量将word文档中的多页文本框里的内容导入到本EXCEL中。
此表是逐个复制的,300多页,量太大。

image.png
image.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-24 08:01 , Processed in 0.044762 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表