将特定 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