【问题标题】:Exporting specific Excel data from Multiple fields into Word将特定 Excel 数据从多个字段导出到 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。

【问题讨论】:

标签: excel vba ms-word com-automation


【解决方案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

【讨论】:

  • 非常感谢您。今天下班后我会试一试,看看我的进展如何。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2018-12-23
  • 2017-04-12
  • 1970-01-01
  • 2017-07-31
  • 1970-01-01
  • 2018-01-10
  • 1970-01-01
  • 2016-03-17
相关资源
最近更新 更多