Форум: "Начинающим";
Текущий архив: 2012.03.04;
Скачать: [xml.tar.bz2];
ВнизОтправление писем из Delphi 7 через Outlook Найти похожие ветки
← →
Виталий (2011-11-22 21:16) [0]У меня есть программный код в VBA, мне нужно его перевести для Delphi 7. Программный код прилагается ниже. Либо помогите написать код который из БД в Delphi 7 будет отправлять письма через Microsoft Outlook. За ранние спасибо.
Private Sub Otpravit_Click()
On Error GoTo Err_Otpravit_Click
" Отправка писем
Dim prog As Outlook.Application " Объект - программаOutlook
Dim baza As Database " Объект - база данных
Dim tablica As Recordset " Таблица ТаблицаПисьма
Dim i As Integer " Счетчик цикла
Dim portion As Integer " Счетчик порций
Dim zapis As Integer " Номер записи
Dim pismo As MailItem " Объект - почтовое сообщение
Dim dopfail As String " Присоединяемый файл
Dim Copies As Integer " Число копий письма
Dim pauza As Integer " Величина интервала ожидания
Dim PauseTime, Start " Переменные для таймера
Dim Konec As Boolean " Конец таблицы
Dim myNamespace As Outlook.NameSpace
" Создание объектов для письма
Set prog = New Outlook.Application
Set myNamespace = prog.GetNamespace("MAPI")
" Начальные значения переменных
dopfile = " "
If Len(Trim(Me!Text9)) > 0 Then dopfail = Me!Text9
dopfile = Trim(dopfile)
pauza = Me!Interval
Konec = False
If pauza < 0 Then pauza = 1
Copies = Me!Kopii
If Copies < 0 Then Copies = 1
" Подключение таблицы
Set baza = CurrentDb " Работаем с этой же БД
Set tablica = baza.OpenRecordset("SELECT * FROM [ТаблицаАдреса] WHERE ([Да]=True);")
" Основной цикл
Do While Me!Check34 And Not Konec
Me.Refresh " Пересчет данных формы
If tablica.RecordCount <> 0 Then " Таблица не должна быть пустой
tablica.MoveLast " Последняя запись
tablica.MoveFirst " Первая запись
zapis = 1
" Ищем новые записи
Do While tablica!flag = 1 And zapis < tablica.RecordCount
tablica.MoveNext " Выбор следующей записи
zapis = zapis + 1
Loop
If tablica.RecordCount - zapis >= Copies Then " Определение количества адресов
portion = Copies
Else
portion = tablica.RecordCount - zapis + 1
End If
" Формирование письма в формате Outlook
Set pismo = prog.CreateItem(olMailItem) " Создание объекта
pismo.Subject = Me!Tema " Тема сообщения
pismo.Body = Me!Tekst " Текст сообщения
If dopfail <> "" Then pismo.Attachments.Add dopfail " Дополнительный файл
For i = 1 To portion " Перебор очередной порции адресов
If tablica!Да And Not Konec Then
If tablica!flag <> 1 Then
pismo.Recipients.Add tablica!Email " Еще один адрес
tablica.Edit
tablica!flag = 1 " Адрес использован
tablica.Update
End If
End If
If zapis < tablica.RecordCount Then
tablica.MoveNext " Выбор следующего адреса
zapis = zapis + 1
Else
Konec = True
End If
Next
Me!Obrab = zapis " Индикация номера записи в форме
" pismo.Display " Показ письма в окне. Для отладки
pismo.Send " Отправка письма
Me!Поле93 = "РАССЫЛКА"
Me!Поле93.BackColor = RGB(0, 250, 0)
End If
" Интервал ожидания
PauseTime = pauza " Установка величины паузы
Start = Timer " Текущее значение таймера
Do While Timer < Start + PauseTime And Me!Check34 " Цикл ожидания
DoEvents " Позволяется работать другим процессам
Loop
Loop
Me!Поле93 = "ОСТАНОВ"
Me!Поле93.BackColor = RGB(200, 200, 200)
tablica.Close " Закрытие таблицы
" Обработка ошибки
Exit_Otpravit_Click:
prog.Quit
Exit Sub
Err_Otpravit_Click:
MsgBox Err.Description " Сообщение об ошибке
Resume Exit_Otpravit_Click
End Sub
← →
Плохиш © (2011-11-22 21:29) [1]>Либо помогите написать код который
либо что?
← →
Виталий (2011-11-22 21:59) [2]Либо помогите написать программный код который будет отправлять письма из БД в Delphi 7 через Microsoft Outlook.
← →
Кщд (2011-11-23 07:34) [3]>Виталий (22.11.11 21:59) [2]
Как делали, что не получилось?
← →
han_malign (2011-11-23 10:16) [4]
var prog: OleVariant;
myNamespace: OleVariant;
.....
begin
try
//" Создание объектов для письма
prog:= CreateOLEObject("Outlook.Application");
myNamespace = prog.GetNamespace("MAPI");
...........
- и так далее...
← →
Anatoly Podgoretsky © (2011-11-23 10:19) [5]> Виталий (22.11.2011 21:59:02) [2]
На многих серверах сущуствуют форумы Работа, не пробовал там заказать?
← →
OW © (2011-11-23 11:18) [6]по сабжу:
Помогают тем, кто что-то сделал сам и что-то не получилось/ не получается.
Вы же заказываете сделать работу. Тут и такое делают, но за деньги и под настроение.
по флуду:
мне больше
> За ранние
понравилось :)
в диктанте попадется такое слово - уже трояк, три ошибки на орфографию
← →
Dennis I. Komarov © (2011-11-23 11:32) [7]ключевые слова:
> У меня есть программный код в VBA, мне нужно его перевести
P.S.
> либо что?
Заспамит своим VBA
← →
Виталий (2011-11-23 23:08) [8]А дальше можешь написать код полностью а то в это не чего не понимаю =)))
← →
Омлет © (2011-11-23 23:43) [9]Проще, дай номер кошелька - мы тебе денег отправим.
← →
Dennis I. Komarov © (2011-11-23 23:55) [10]"альпийское нищенство – святое дело"
← →
Германн © (2011-11-24 00:48) [11]
> Виталий (23.11.11 23:08) [8]
Ну сколько можно попрошайничать?
← →
Виталий (2011-11-24 00:53) [12]Выручайте блин без вас не как =))
← →
Плохиш © (2011-11-24 11:41) [13]500 евро, предоплата.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.03.04;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.004 c