2016-05-17 7 views
1
Sub SendEmailUsingGmail() 
Dim Text As String, StrPath As String, StrFile As String 
Dim Text2 As String 
Dim Text3 As String 
Dim i As Integer 
Dim j As Integer 
Dim NewMail As CDO.Message 



i = 1 
Do While Cells(i, 1).Value <> "" 

    Set NewMail = New CDO.Message 

    NewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True 

    'Make SMTP authentication Enabled=true (1) 

    NewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 

    'Set the SMTP server and port Details 
    'To get these details you can get on Settings Page of your Gmail Account 

    NewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" 

    NewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 

    NewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 

    'Set your credentials of your Gmail Account 

    NewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]" 

    NewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "****" 

    'Update the configuration fields 
    NewMail.Configuration.Fields.Update 

    With NewMail 
     StrPath = Cells(i, 2).Value 
     .Subject = "" 
     ' adds the data in column3 with space as subject 
     .From = "[email protected]" 

     Text = Cells(i, 1).Value 
     StrFile = Dir(StrPath & "*.txt") 
     'Text2 = Cells(i, 2).Value 

     .To = Text 
     .BCC = "" 
     .TextBody = "WDAdsas" 
     .AddAttachment StrFile 
     .Send 
    End With 
    i = i + 1 
Loop 

End Sub 

My Excel содержит электронный идентификатор в первом столбце второй столбец содержит адрес каждого вложения: (Excel выглядит)Приложить все файлы в папке

[email protected] E:\Shank E drive\Gon\EBooks\BBB\ 
[email protected]  E:\Shank E drive\Gon\EBooks\AAA\ 

Когда я отладки шаг за Шаг I Я получил txt-файл в StrFile, но addattachment не смог его прочитать.

Указывает на то, что указанный протокол не указан.

+0

Я думаю, что вам не хватает последней части вашего вопроса. Как настроены ваши столбцы? Есть ли только 2 столбца, на которые вы смотрите, но во вторых столбцах есть вложения, ограниченные пробелом или символом? – Histerical

+0

Часть '.AddAttachment' ищет файл для прикрепления, а не папку. Вам нужно будет настроить петлю для присоединения всех файлов в папке. – Histerical

+0

2 столбца ... Просто обновил вопрос .... на данный момент обе папки AAA и BBB имеют только один .txt-файл .... Этот .txt хранится в StrFile .... когда я отлаживаю .... но он не прикрепляется к .addattach. – Shank

ответ

1
StrPath= Column2Range 
FileType = "*.txt" 

strFile = Dir(StrPath & FileType) 
If Len(strFile) = 0 Then 
    GoTo ExitProc 
End If 
    Do While Len(strFile) > 0 
    .AddAttachment StrPath & strFile 
    strFile = Dir 
Loop 
ExitProc: 

Это должно сработать для вас. Дайте мне знать, если вам нужна помощь, чтобы понять это.

+0

Итак, в основном мой первый код, когда я добавил вложение, он подключил только файл .txt, а не весь путь ... когда я это сделал: Text3 = Cells (i, 2) .Value & StrFile .AddAttachment Text3 Мне удалось прикрепить файл .... Учитывая условие, что у моего flder есть только один файл в нем ... что делает код strFile = Dir Do ?? – Shank

+0

Да, когда вы используете 'Dir', он возвращает имя файла, а не путь к файлу. Таким образом, вы добавляете путь к файлу и имя файла вместе, и он должен приложить довольно хорошо. – Histerical

+0

Что делает код strFile = Dir Do ?? Thnks заранее. – Shank

0

Пожалуйста, ознакомьтесь с приведенной ниже ссылкой.

http://www.rondebruin.nl/win/s1/outlook/amail6.htm

Я думаю, что это поможет вам идти в правильном направлении. Если у вас есть дополнительные вопросы, отправьте сообщение.

Смежные вопросы