【问题标题】:Excel Workbook to Word Template + Mail merge VBAExcel 工作簿到 Word 模板 + 邮件合并 VBA
【发布时间】:2020-11-16 10:32:02
【问题描述】:

您好,提前致谢!

我一直在尝试自动化我每天所做的事情,即从 Excel 工作簿中进行邮件合并,每天使用 VBA 更新新注册,我需要脚本的目的是它必须为我创建的清单中的检查行生成一封具有相同模板的新邮件,完成后还需要创建标签。

外观:

该文件包含存储数据的 8 列(姓名、性别、年龄、医生姓名、地址、城市、医院、复选框(v)都在 Sheet1。

我尝试了什么:

我创建了一个 VBA 脚本,它在 G 行中添加了一个清单,并且只有选中的行被提取到一个新的工作表(Sheet2)中,这样它就只从表中隔离了所需的信息。

我尝试在线搜索代码,但没有成功找到与我所要求的代码相近的代码。

目标:

Excel - 从第二张工作表中提取数据(Sheet2)

Word - 从 excel 表 (sheet2) 中获取信息并通过脚本将邮件合并到模板中。

我是 VBA 的新手,如果我问的太多,很抱歉,希望您能提供帮助!

【问题讨论】:

  • 那么问题是什么?您的 VBA 代码抛出错误?或工作但不符合预期?另外,请提供您拥有的代码
  • 我可能含糊不清,我会澄清我没有成功编写可以解决这个问题的工作代码,我只写了一些应该简化解决它的过程的部分(我需要在第二个电子表格(excel)中获取信息并使用邮件合并将信息插入到单词模板(这是一个字母)中。)@Zac
  • 我重新编辑了问题以进一步澄清它
  • 解决这个问题的唯一方法是显示您的代码。有代码不工作也没关系!这样我们就可以查看您尝试过的内容,然后用户可以提出更多问题或提供可以修复或更改的答案。
  • 嘿@RobertTodar 我没有写,我什至无法开始,我看了几个关于这个主题的视频,但由于复杂性,我什至无法编写基本代码任务。所以我问是否有人可以解决这个问题

标签: excel vba ms-word


【解决方案1】:

我正在做一些与这篇文章似乎在谈论的非常相似的事情。我已经设法将数据从 excel 导入到 word 中,但找不到将数据从我存储的数组中获取到我需要的特定合并字段位置的方法。

我需要在两列中为每张纸生成 10 个标签如果我将其邮件合并,我可以获得左列。但是如果我尝试做右侧记录,“下一条记录”的功能会搞砸一切,因为它会切换到下一条记录,而没有任何办法返回并完成第一个标签。

Sub OpenExcelFile()


    Dim oExcel As Excel.Application
    Dim oWB As Workbook
    Dim RowLoc As Integer
    Dim ExcelArray(1 To 10000, 1 To 6) As Variant

    RowLoc = 1

    Set oExcel = New Excel.Application
    Set oWB = oExcel.Workbooks.Open("C:\Users\UserName\Documents\Sticker Maker.xlsm")
    oExcel.Visible = True
Do While oWB.Sheets("Barcode").Cells(RowLoc, 1) <> ""
    ExcelArray(RowLoc, 1) = oWB.Sheets("Barcode").Cells(RowLoc, 1)
    ExcelArray(RowLoc, 2) = oWB.Sheets("Barcode").Cells(RowLoc, 2)
    ExcelArray(RowLoc, 3) = oWB.Sheets("Barcode").Cells(RowLoc, 3)
    ExcelArray(RowLoc, 4) = oWB.Sheets("Barcode").Cells(RowLoc, 4)
    ExcelArray(RowLoc, 5) = oWB.Sheets("Barcode").Cells(RowLoc, 5)
    ExcelArray(RowLoc, 6) = oWB.Sheets("Barcode").Cells(RowLoc, 6)
    RowLoc = RowLoc + 1
Loop

    RowLoc = 1
    ActiveDocument.MailMerge.DataSource.DataFields("Job_Name").Value = ExcelArray(RowLoc, 1) 'this fails because it's read only
    oWB.Close
    Excel.Application.Quit
End Sub

我只是想找到一些方法来为文件中的每条记录填写这些标签,从而创建新页面,每 10 个标签。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多