国学数典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 44185|回复: 22

[求助] 如何批量删除word文本框而保留其中的内容

[复制链接]

该用户从未签到

发表于 2009-5-31 07:21 | 显示全部楼层 |阅读模式
有一个WORD文件,大约300页左右,每一页是一个文本框,里面有内容。在使用CTRL+A以及其它操作时,只是针对当前页面进行,无法针对整个WORD文件操作,想请教各位,如何批量删除word文本框而保留其中的内容。
PS,在网上查了一下,说是使用宏,录取成宏后,一运行,文本框及里面的内容全没有了,而我不需要文本框,只需要其中的内容。
提前感谢各位。
回复

使用道具 举报

该用户从未签到

发表于 2009-5-31 07:22 | 显示全部楼层
可以存成txt文件,然后再用word打开保存一下。只不过这样的话格式就都没有了。
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-5-31 07:56 | 显示全部楼层
可以存成txt文件,然后再用word打开保存一下。只不过这样的话格式就都没有了。
lafeng99 发表于 2009-5-31 07:22

另存之后,TXT文件没有任何内容。
还是感谢您。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2017-9-17 10:51
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2009-5-31 08:58 | 显示全部楼层
    关注中……
    等高手出来解决难题,我也跟着学点儿……
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2009-5-31 09:08 | 显示全部楼层
    估计word文档中的文本框及相关内容可能是图片形式,这样处理起来就很麻烦了,是否还是立足于从网上找一下其它版本
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2009-5-31 09:10 | 显示全部楼层
    如果文本框内是文本而不是图,则可以存为txt,应该无问题。
    如果不涉及保密,不妨发上来,我帮你看看。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2009-5-31 09:35 | 显示全部楼层
    我用adobe acrobat procfessional 9将word文档转换成PDF格式,再将PDF另存为纯文本,文本框消失,文本保留,成功。

    评分

    2

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2009-5-31 09:36 | 显示全部楼层
    1、如果不是图像而是文本,可以先从文档开头选择,然后摁住SHIFT键,再将鼠标点到文档最后,此时文档全部内容被选住,注意不要直接选择编辑中的全选,然后复制粘贴到新的空白文档中,点击“仅保留文本”。估计可以实现。
    2、如果是文本,直接选择编辑中的全选,然后复制粘贴到新的空白文档中,点击“仅保留文本”。也可以实现。
    3、如果文档是由多个文本框构成,那就比较麻烦,我的办法是逐个将文本框单独复制粘贴,为不混淆起见,可以选择剪切粘贴。然后按2的方法可以实现。
    4、如果你说的是文本在表格中,则点击表格,从表格属性中选择设置。

    评分

    2

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2009-5-31 10:24 | 显示全部楼层
    这个问题值得关注。
    如果不让复制文本内容,通常是图片格式;要么就是特殊制作。
    在“豆丁”看到题DOC格式的文本资料,还没有找到提取方式。
    http://www.docin.com/p-1389563.html

    评分

    1

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2009-5-31 14:10 | 显示全部楼层
    8# igiman

    楼上说得很详细了. 文本还好, 如果是图片就麻烦得多.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2009-5-31 17:13 | 显示全部楼层
    本帖最后由 comme 于 2009-6-1 10:24 编辑

    如果你会 XML 的话,可以将 Word 文档保存成 XML 文档。然后将符合“//w:txbxContent” XPath 路径表达式(即是所有“w:txbxConent”元素)的所有子元素提取出来(可用如下代码实现),然后删除文档的“wx:sub-section”元素下的所有“w:p”子元素,将刚才提取出来的内容粘贴到该元素下,即可去掉每页的文本框。

    效果见附件。

    如果你弄不了,可以发给我,帮你稍微弄一下就行了。在这里稍微存一段代码,这段脚本代码是在 FirstObject XML Editor 中运行的,用于提取所有“w:txbxConent”元素(文本框)的内容。


    1. str ContentForTxbxContent_Generated( CMarkup mDocToQuery )
    2. {
    3. // Content of w:txbxContent
    4. CMarkup mList;
    5. // 提取所有文本框的内容
    6. mDocToQuery.ResetPos();
    7. while ( mDocToQuery.FindElem("//w:txbxContent") )
    8. {
    9.    mList.AddSubDoc (mDocToQuery.GetElemContent());
    10.    mList.GotoParentElemIndex (0);
    11. }
    12. // 删除原来的段落(这里假设原文档所有内容都在文本框里面)
    13. mDocToQuery.ResetPos();
    14. while ( mDocToQuery.FindElem ("//wx:sub-section") )
    15. {
    16.   mDocToQuery.IntoElem ();
    17.   while ( mDocToQuery.FindElem ("w:p") ) {
    18.    mDocToQuery.RemoveElem ();
    19.   }
    20. }
    21. // 将刚才提取的内容写回文档
    22. mDocToQuery.ResetPos();
    23. mDocToQuery.FindElem ("//wx:sub-section");
    24. mDocToQuery.InsertChildSubDoc (mList);
    25. mDocToQuery.Save ("c:\\doc.xml");
    26. return mDocToQuery;
    27. }
    复制代码

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?注册

    x

    评分

    2

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2009-6-1 10:22 | 显示全部楼层
    今天改了一下,估计楼主自己操作一下就可以了。操作步骤:
    • 用另存为功能,将 Word 文档保存为 XML 文件,如“text.xml”。
    • 关闭 Word。
    • 下载附件中的 FirstObject XML 编辑器。
    • 解压,得到两个文件,执行其中的可执行文件,打开编辑器。
    • 用编辑器打开“text.xml”。
    • 用编辑器打开解压得到的另一个附件“program1.foal”。
    • 按键盘上的 F9,运行 Program1.foal 程序。
    • 在提示“Select document for parameter”对话框中点“确定”按钮。
    • 编辑器将把处理后的文件输出为 C 盘“doc.xml”文件。
    • 用 Word 打开 doc.xml。
    • 剩下的工作自己搞定。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?注册

    x

    评分

    1

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2009-12-10 09:50 | 显示全部楼层
    这确实是一个常见的问题,平时我也会遇到,一直没特别留意去解决它。今天看到版主也提出这个问题,于是跃跃欲试就想露一手。为争取更多阿堵物,我决定“短话长说”,写一篇五千字的论文,以解决此问题……

    呵呵,开个玩笑,请别介意!

    我试验了几种方法,以下方法最简单:

    1、在Word中,另存为“RTF格式”;
    2、用WordPad来开这个RTF文件(注:WordPad是“开始-程序集-附件-写字板”,不要用Word打开它);
    3、在WordPad中另存为TXT即可。

    前提条件是:文件别太大,用WordPad能打开,能另存。因有的文件动辙几百兆,用WordPad恐怕不一定能打开,那么,就尝试将文件割开成若干小一点的文件,再处理。

    另,既最终得到的是TXT,原文的格式自然是无法保留的了。

    评分

    1

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2009-12-10 10:26 | 显示全部楼层
    Sub Example()
    Dim i As Table
    For Each i In ActiveDocument.Tables
    i.ConvertToText wdSeparateByTabs, True
    Next
    End Sub
    我一直用。保存宏就可以了。

    评分

    1

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2009-12-10 16:00 | 显示全部楼层
    非常感谢14#分享的宏代码!在此基础上,我编写出以下宏代码,自动清除Word当中的全部的文本框、图文框,在Word 2003当中测试通过:

    Sub 删除全部文本框()
    '
    ' 删除全部文本框,保留文字
    '
        Dim i As Shape
        For Each i In ActiveDocument.Shapes
           i.ConvertToFrame
        Next
        Dim ii As Frame
        For Each ii In ActiveDocument.Frames
           ii.Delete
        Next

    ' 取消所有框线
    ' ------------注:若文章当中存在有用的框线,请删除下边这几句---------
        Selection.WholeStory
        With Selection.ParagraphFormat
            .Borders(wdBorderLeft).LineStyle = wdLineStyleNone
            .Borders(wdBorderRight).LineStyle = wdLineStyleNone
            .Borders(wdBorderTop).LineStyle = wdLineStyleNone
            .Borders(wdBorderBottom).LineStyle = wdLineStyleNone
            .Borders(wdBorderHorizontal).LineStyle = wdLineStyleNone
        End With
    ' ------------注:若文章当中存在有用的框线,请不要执行上边这几句---------

    End Sub

    使用方法:
    在Word中按“Alt+F11”,将上边的那一大段宏复制/粘贴进去,保存即可。
    执行则按“Alt+F8”,选择“删除全部文本框”,点“执行”。

    评分

    2

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-9-20 00:03
  • 签到天数: 438 天

    [LV.9]以坛为家II

    发表于 2009-12-10 23:29 | 显示全部楼层
    用CAJ里的文字识别功能也可以复制扫描版的PDF文件 用CAj打开PDF文件 点击文字识别功能 再找到要复制的文字 框定范围 一会就自动出现识别的文字 可以选择复制到剪贴板 也可以选择发送到Word
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-9-12 08:33
  • 签到天数: 24 天

    [LV.4]偶尔看看III

    发表于 2009-12-13 16:45 | 显示全部楼层
    8楼的方法应该能应对楼主所提出的问题了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-9-19 19:41
  • 签到天数: 342 天

    [LV.8]以坛为家I

    发表于 2014-1-23 23:35 | 显示全部楼层
    个人实际用了一下,13楼的方法简便可行,不错。其他各位的方法,似乎有技术难度,呵呵。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2014-2-1 22:12 | 显示全部楼层
    全选,剪切,选择性粘贴,无格式文本,确定。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2017-4-6 22:18
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2017-3-31 14:28 | 显示全部楼层
    貌似15楼的方法不太可行,我用下来出错了。我是只想删除删除所有文本框,但是想保留正文的格式,所以转成txt方法不太好,因为这会丢掉正文格式。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-9-11 12:18
  • 签到天数: 105 天

    [LV.6]常住居民II

    发表于 2017-4-1 12:02 | 显示全部楼层
    Ctrl+A 全选文本框
    Ctrl+C 复制所有内容
    打开写字板
    Ctrl+V 粘帖

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-4-11 16:00 | 显示全部楼层
    没有文件,怎么说呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-4-21 19:01 | 显示全部楼层
    试验了一下,13楼的方法确实简便可行。尽管是txt格式,但是毕竟可以检索了。其他的方法技术难度高,有点看不懂呀。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

     
     
    账号故障技术支持
    有账号问题请留言,
    遇到被冻结时请按论坛提供的方法解冻,邮件找回的方式,如果有困难可以QQ留言.

    Archiver|手机版|小黑屋|国学数典 ( 2006-2014 京ICP备13025677号-1

    GMT+8, 2017-9-20 08:27

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

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