簡體   English   中英

Excel 工作簿到 Word 模板 + 郵件合並 VBA

[英]Excel Workbook to Word Template + Mail merge VBA

你好,提前致謝!

我一直在嘗試自動化我每天做的一些事情,即從 Excel 工作簿進行郵件合並,每天更新使用 VBA 的新注冊,我需要腳本的目的是它必須生成一個新的使用相同模板的郵件僅用於我在完成后創建的清單中選中的行,它還需要創建標簽。

它的外觀:

該文件包含 8 列,其中存儲數據(姓名、性別、年齡、醫生姓名、地址、城市、醫院、復選框(v)都在 Sheet1。

我試過的:

我創建了一個 VBA 腳本,它在 G 行中添加了一個清單,並且只有選中的行被提取到一個新的工作表(Sheet2)中,這樣它就可以只從表格中分離出所需的信息。

我嘗試在網上搜索代碼,但沒有成功找到與我要求的代碼相近的代碼。

目標:

Excel - 從第二張工作表(Sheet2)中提取數據

Word - 從 excel 表(sheet2)中獲取信息並通過腳本將郵件合並到模板中。

我對 VBA 有點陌生,如果我問的太多,很抱歉,希望你能幫忙!

我正在研究與這篇文章似乎在談論的內容非常相似的事情。 我已經設法將數據從 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 個標簽的新頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM