Board logo

標題: [發問] 用VBA做OUTLOOK草稿(或寄信) [打印本頁]

作者: a38480912    時間: 2024-5-4 12:42     標題: 用VBA做OUTLOOK草稿(或寄信)

因為很常需要大量先做草稿(或寄信)
想用VBA的方式來處理
在youtube上依照papaya老師和google拼湊出想要執行的內容
利用OUTLOOK範本方式, 使用VBA去操控叫出範本來做修改
但卡在迴圈導致VBA沒辦法按照我自己的想法去跑
目前卡在附檔問題, F2~K2是用來放上附檔路徑
第一封隨信要加上兩個附檔
第二封不用附檔
第三封只需要一個附檔
但跑出來的結果會是三封都夾帶到第一列的兩個附檔
如果把迴圈WHILE往上寫 也不成功
想求救一下各位大大該怎麼修改比較好
感謝


Sub 寄送郵件()

    Dim 小信差 As Outlook.Application
    Set 小信差 = New Outlook.Application
   
    Dim 新郵件 As MailItem
    Dim 列數, 總列數 As Integer
   
    總列數 = Cells(1000, 1).End(xlUp).Row
   
    For 列數 = 2 To 總列數
    Set 新郵件 = 小信差.CreateItemFromTemplate("C:\Users\XXXXXX\AppData\Roaming\Microsoft\Templates\XXXXX template\XXX到貨.oft")
   
    With 新郵件
        .To = Range("A" & 列數).Value
        .CC = Range("B" & 列數).Value
        .Subject = Range("C" & 列數).Value

        .HTMLBody = Replace(.HTMLBody, "稅則", Range("D" & 列數).Value)
        .HTMLBody = Replace(.HTMLBody, "FLIGHT", Range("E" & 列數).Value)
        
                i = 2
                j = 6
                While Sheets("工作表1").Cells(i, j) <> ""
                sendFile = Sheets("工作表1").Cells(i, j).Value
                新郵件.Attachments.Add sendFile
                j = j + 1

        .Close olSave
    End With
    Next 列數

End Sub

[attach]37730[/attach]
作者: 准提部林    時間: 2024-5-5 10:11

回復 1# a38480912

'i = 2 被固定為第2行了
j = 6
While Sheets("工作表1").Cells(列數, j) <> ""
      sendFile = Sheets("工作表1").Cells(列數, j).Value
     新郵件.Attachments.Add sendFile
     j = j + 1
Wend
作者: a38480912    時間: 2024-5-18 11:10

回復 2# 准提部林


    理解了,感謝大大:D




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)