目前我正在创建一个 excel,它将向供应商发送付款明细。这个想法是在另一个名为“供应商主数据”的工作表中宏搜索供应商编号(第一个工作表“付款明细”中的 B 列)。如果供应商存在于供应商主数据表中并且有电子邮件地址,宏开始创建电子邮件。我想在电子邮件正文中包括文本旁边的付款详细信息,该特定供应商的付款详细信息表中的付款详细信息以及下一个变量应从下一个供应商开始。如果详细信息可以有标题(总是在付款详细信息表的第二行),那就太好了。由于每个供应商的已付发票数量不同,我不知道如何将其包含在电子邮件正文中。请帮忙并提前谢谢你。 请查看表格示例,付款明细的外观:
请看下面的代码,它向供应商发送一封没有付款细节的电子邮件。我需要添加将获取付款详细信息并包含在电子邮件正文中的代码:
Sub Send_PaymentDetails_From_Excel()
Dim Pl As Worksheet
Dim Bz As Worksheet
Set Pl = ThisWorkbook.Sheets("Payment details")
Set Bz = ThisWorkbook.Sheets("Supplier master data")
Dim OA As Object
Dim msg As Object
Dim I As Integer
Dim K As Integer
Dim last_row As Integer
last_row = Application.CountA(Bz.Range("A:A"))
Set OA = CreateObject("Outlook.Application")
For I = 2 To 300
For K = 12 To last_row
If Pl.Cells(I, 2).Value = Bz.Cells(K, 2).Value Then
If Not IsEmpty(Bz.Cells(K, 3)) Then
Set msg = OA.createitem(0)
msg.To = Bz.Range("C" & K).Value
msg.cc = Bz.Cells(3, 2).Value
msg.cc = Bz.Cells(K, 4).Value
msg.Subject = Bz.Cells(4, 2).Value
msg.Body = Bz.Cells(5, 2).Value
msg.Display
msg.Send
Else
End If
End If
Next K
Next I
Set msg = Nothing
Set OA = Nothing
MsgBox "Mails sent"
End Sub