当前位置: 首页 > news >正文

VBA将Word文档内容逐行写入Excel

     如果你需要将Word文档的内容导入Excel工作表来进行数据加工,使用下面的代码可以实现:

Sub ImportWordToExcel()
    Dim wordApp As Word.Application
    Dim wordDoc As Word.Document
    Dim excelSheet As Worksheet
    Dim filePath As Variant
    Dim i As Long
    Dim para As Word.Paragraph
    Dim lineText As String
    
    ' 设置Excel工作表
    Set excelSheet = ThisWorkbook.Sheets("Sheet1") ' 修改为你的工作表名称
    i = 1 ' 从A1开始写入
    
    ' 让用户选择Word文档
    filePath = Application.GetOpenFilename("Word Documents (*.docx;*.doc), *.docx", , "选择要导入的Word文档")
    If filePath = False Then Exit Sub ' 用户取消选择
    
    On Error GoTo ErrorHandler
    
    ' 创建Word应用
    Set wordApp = New Word.Application
    wordApp.Visible = False ' 隐藏Word界面
    
    ' 打开Word文档
    Set wordDoc = wordApp.Documents.Open(filePath)
    
    ' 遍历每个段落
    For Each para In wordDoc.Paragraphs
        lineText = Replace(para.Range.Text, Chr(13), "") ' 移除段落标记
        lineText = Trim(lineText)
        If lineText <> "" Then
            ' 可选:按手动换行符分割行(例如Shift+Enter)
            Dim lines As Variant
            lines = Split(lineText, Chr(11)) ' Chr(11)代表手动换行符
            For Each line In lines
                If Trim(line) <> "" Then
                    excelSheet.Cells(i, 1).Value = Trim(line)
                    i = i + 1
                End If
            Next line
        End If
    Next para
    
Cleanup:
    ' 关闭并释放Word对象
    If Not wordDoc Is Nothing Then
        wordDoc.Close SaveChanges:=False
        Set wordDoc = Nothing
    End If
    If Not wordApp Is Nothing Then
        wordApp.Quit
        Set wordApp = Nothing
    End If
    Exit Sub
    
ErrorHandler:
    MsgBox "错误 " & Err.Number & ": " & Err.Description, vbCritical, "错误"
    Resume Cleanup
End Sub

        注意:使用以上代码需要引用“Microsoft Word xx.0 Object Library”库,在Excel VBA编辑器中,通过点击“工具”→“引用”来勾选。

相关文章:

  • 做房产的有哪些网站电子商务seo实训总结
  • 基于php的电子商城网站建设建站系统软件有哪些
  • 广西壮族自治区教育厅seo做的比较好的公司
  • 马鞍山网站建设 明达优化网站收费标准
  • 深圳建设工程交易服务网老网站云搜索app下载
  • 天元网游关服了吗南京百度seo排名优化
  • WGAN-GP 原理及实现(pytorch版)
  • MySQL 备份与恢复:数据库的灾难保险计划
  • 兔单B细胞单抗制备服务
  • 蓝桥杯嵌入式十五届模拟二(串口DMA,占空比的另一种测量方式)
  • Python人工智能算法 基于遗传算法解决流水车间调度问题
  • (学习总结33)Linux Ext2 文件系统与软硬链接
  • js 效果展示
  • 机器学习 | 强化学习 vs 深度学习 vs 深度强化学习 | 概念向
  • 初入Web网页开发
  • 基于大模型的阵发性室上性心动过速风险预测与治疗方案研究
  • mySQL数据库和mongodb数据库的详细对比
  • LeetCode】寻找重复子树:深度解析与高效解法
  • Dynamics 365 Business Central Recurring Sales Lines 经常购买销售行 来作 订阅
  • 2025年美国CPI数据公布时间表
  • 循环神经网络 - 参数学习之实时循环学习
  • UML类图综合实验三补档
  • 类初始化、类加载、垃圾回收---JVM
  • Heap_dijkstra
  • SnakeMake搭建pipeline 1
  • 隔行换色总结