将特定 Excel 数据从多个字段导出到 Word

Posted

技术标签:

【中文标题】将特定 Excel 数据从多个字段导出到 Word【英文标题】:Exporting specific Excel data from Multiple fields into Word 【发布时间】:2022-01-21 11:00:39 【问题描述】:

让我先说我对 VBA 很陌生,因此感谢任何帮助。 有人联系我,看我是否可以创建基本的自动化水平。 需要通过按钮将数据从 Excel 导出到 Word。

最终目标是在 excel 中包含数据字段,例如“名字”“姓氏”“地址” “联系电话”。然后选择一个人的整行(B1,B2,B3,B4),当按下宏按钮时,它会打开一个word文档并将字段预填充到文档中。是预填信件发送,这个人还表示,邮件合并没有做他们需要的。以下是我正在使用的内容。

Sub ExcelToWord()
    Dim wordApp As Word.Application
    Dim mydoc As Word.Document

    Set wordApp = New Word.Application
    wordApp.Visible = True
    Set mydoc = wordApp.Documents.Add()
    ThisWorkbook.Worksheets("sheet1").Range("").Copy
    mydoc.Paragraphs(1).Range.PasteExcelTable _
                               LinkedToExcel:=False, _
                               WordFormatting:=False, _
                               RTF:=False
    mydoc.SaveAs2 "MyDoc"
End Sub

这允许特定范围,例如 (A2,B3) 但不是“选定”区域。 如果这是非常基本的,我深表歉意,但正如我所说,我并没有真正使用 VBA。

【问题讨论】:

«此人还表示邮件合并不能满足他们的需求» 人们想知道“此人”尝试了什么。 Word 的邮件合并过滤器允许选择一个或多个特定记录进行处理。另一种选择是在文档中使用 SKIPIF 字段。例如:tek-tips.com/viewthread.cfm?qid=1606078 & techsupportforum.com/threads/… 【参考方案1】:

如果我理解你的问题,我想你只需要替换:

ThisWorkbook.Worksheets("sheet1").Range("").Copy  

作者:

Selection.Copy

【讨论】:

与下面的评论相同,非常感谢您的回复,我会在今天下午尝试一下。【参考方案2】:

您似乎需要使用Application.Selection 属性,该属性返回活动工作表上当前选定对象的应用程序对象。

Sub ExcelToWord()
    Dim wordApp As Word.Application
    Dim mydoc As Word.Document

    Set wordApp = New Word.Application
    wordApp.Visible = True
    Set mydoc = wordApp.Documents.Add()    
    
    ThisWorkbook.Worksheets("sheet1").Activate()
    Application.Selection.Copy()
    
    mydoc.Paragraphs(1).Range.PasteExcelTable _
                               LinkedToExcel:=False, _
                               WordFormatting:=False, _
                               RTF:=False
    mydoc.SaveAs2 "MyDoc"
End Sub

【讨论】:

非常感谢您。今天下班后我会试一试,看看我的进展如何。非常感谢。

以上是关于将特定 Excel 数据从多个字段导出到 Word的主要内容,如果未能解决你的问题,请参考以下文章

使用 Pandas 将多个日志文件数据导出到单个 Excel

jsp编写网站中,如何将数据库中的表导出到txt或者word,excel

打开多个 Excel 实例时如何通过 Excel 宏将数据从 Excel 导出到 Access

java如何将查询到的表中数据导出到excel中(包含字段名)

fastreport 中,如何只取某个字段的特定值,

宏将MS Word表导出到Excel工作表