You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过VBA将Word文档纯文本无格式复制到另一新建Word文档

Word VBA 提取当前文档纯文本到新DOCX修复方案

原有代码问题清单

  • 变量声明语法错误:targetDocAs 缺少空格拆分变量名和类型,声明行尾多余逗号不符合VBA语法规则
  • 路径调用错误:myPath 是当前文档所在文件夹路径,不能直接传入Documents.Open作为打开参数
  • 逻辑不符合需求:需求为新建空白文档存储纯文本,原有代码逻辑是打开已存在的1.docx文件
  • 粘贴保留原格式:普通Paste方法会携带原始格式,不符合纯文本提取要求
  • 保存路径未赋值:myPath2 变量未初始化,SaveAs方法执行会报错

修正后可直接运行代码

Sub extract_text()
    Dim originalDoc As Document, targetDoc As Document
    Dim savePath As String

    ' 绑定当前处于活动状态的原文档
    Set originalDoc = ActiveDocument
    ' 新建空白目标文档
    Set targetDoc = Documents.Add
    
    ' 复制原文档全部内容
    originalDoc.Content.Copy
    ' 仅粘贴纯文本,完全丢弃原格式设置
    targetDoc.Content.PasteSpecial DataType:=wdPasteText
    
    ' 保存路径默认设置为原文档同目录,文件名为「纯文本提取结果.docx」,可自行修改
    savePath = originalDoc.Path & "\纯文本提取结果.docx"
    targetDoc.SaveAs2 Filename:=savePath, FileFormat:=wdFormatXMLDocument
    
    ' 不需要关闭原文档可删除下一行
    originalDoc.Close SaveChanges:=False
    targetDoc.Close SaveChanges:=False
End Sub

使用说明

  • 代码运行前确保要提取文本的Word文档处于活动(当前打开正在浏览)状态
  • 如需修改保存的文件名,只需调整savePath赋值语句中\后的文件名部分即可
  • 如果需要保留原文档打开状态,删除originalDoc.Close SaveChanges:=False这一行即可

内容的提问来源于stack exchange,提问作者Satanas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 04:45:01