2016-08-15 6 views
1

У меня есть эта строка кода. Я попытался добавить несколько CC в Outlook Mail. Но он возвращает ;. Я нашел этот образец в MSDN.Добавление нескольких CC в Outlook Mail

Dim ccMail as String 
Dim ccRow as Long 
Dim objMail as Object 
ccRow = Cells(Rows.count, 16).End(xlUp).Row 

With objMail 
     .Subject = Sheet1.TextBox1.Value 
     For k = 4 To ccRow 
      ccMail = ccMail & ";" & Cells(k, 1).Value 
     Next k 
     .cc = ccMail 
end with 

Все CC реципиентов находится в колонке P. Любая помощь? Спасибо.

+0

Смотрите пример здесь [Электронная почта один вложение из папки файлов каждого к другому человеку] (https://stackoverflow.com/questions/38255106/email-a-single- прикрепление-из-папки-из-файлов, каждый к-а-разному лица) – 0m3r

ответ

1

Вы использовали With objMail, но не указали Рабочий лист для Cells(k, 1).Value. Вероятно, это приведет к ошибке.

Кроме того, я полагаю, вы хотите обратиться к ws.Cells(k, 16) вместо так что вы хотите, колонка П.

1

Вот пример того, как с помощью цикла Do-Until Loops, чтобы получить ячейки значений.

Option Explicit 
Sub Example() 
    Dim olApp As Object 
    Dim olMail As Object 
    Dim olRecip As Object 
    Dim iRow As Long 
    Dim Recip As String 
    Dim Sht As Worksheet 

    iRow = 2 

    Set olApp = CreateObject("Outlook.Application") 
    Set olMail = olApp.CreateItem(0) 
    Set Sht = ActiveWorkbook.Sheets("Sheet1") 

    With Sht 
     With olMail 
      Do Until IsEmpty(Cells(iRow, 16)) 
       Recip = Cells(iRow, 16).Value 
       Set olRecip = .Recipients.Add(Recip) 
        olRecip.Type olCC 
        olRecip.Resolve 
       iRow = iRow + 1 
      Loop 

      .Subject = "Subject" 
      .Body = "Hi " & .Body 
      .Display 
     End With 
    End With 

    Set olApp = Nothing 

End Sub 

Do-Until loop and IsEmpty