Прога - Word - E-Mail

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
tofik
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 102
Зарегистрирован: 30.04.2004 (Пт) 13:18

Прога - Word - E-Mail

Сообщение tofik » 10.01.2005 (Пн) 12:45

Ввожу в своей программе адрес мыла...
выбираю файл .doc который содержит текст письма...

Но как отослать E-Mail через ворд, ума не приложу...


помогите...

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 10.01.2005 (Пн) 16:36

А зачем через Word? Програмно скопируй текст из Worda, вставь куда следует и отошли.

tofik
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 102
Зарегистрирован: 30.04.2004 (Пт) 13:18

Сообщение tofik » 10.01.2005 (Пн) 16:44

а "куда следует", это куда?

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 10.01.2005 (Пн) 16:48

В текстовое поле твоей программы отсылающей письма. 8)

tofik
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 102
Зарегистрирован: 30.04.2004 (Пт) 13:18

Сообщение tofik » 10.01.2005 (Пн) 16:59

А форматирование текста при этом сохранится?
А как лучше посылать сообщения?
Чето я в форуме почитал:
через winsock-пишут что гемороя много,
через MAPI-если есть Outlook выдается сообщение на 5 сек, что тож не подходит, т.к. надо делать массовую рассылку!

tofik
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 102
Зарегистрирован: 30.04.2004 (Пт) 13:18

Сообщение tofik » 10.01.2005 (Пн) 17:34

А как программно скопировать текст из ворда

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 10.01.2005 (Пн) 17:34

Насчёт того как лучше посылать сказать не могу. Ну а по поводу форматирования - это как и куда вставлять будешь. Можно попробовать в RichTextBox.
А код типа этого чего-то:
Код: Выделить всё
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub Command1_Click()
Execute ("1.doc")     'открываем документ
GetObject("1.doc").Application.Run ("macros")     'запускаем
                                                                         'предварительно                                                                                  'написанный                                                                                         'макрос "macros"                                                                                  'для                                                                                                     'копир.текста в буфер.
RichTextBox1.Text = Clipboard.GetText   'вставляем текст
End Sub

Sub Execute(DocName As String)
ShellExecute 0, "Open", DocName, "", "", SW_SHOWNORMAL
End Sub


p.s. код не проверял. за возможные ошибки и неточности не ручаюсь. 8)

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 10.01.2005 (Пн) 17:37

Тут есть два варианта, первый:

Средства записи макросов, смотри, нажимаешь на кнопку начать запись, потом посылаешь письмо с ворда, там есть такая кнопка :), потом копируешь код который получился и всталяешь в свою программу.


И второй создаешь макрос в ворде и вызываешь его из своей программы, но первый мне больше нравиться. Щас напишу и выложу примерчик.

tofik
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 102
Зарегистрирован: 30.04.2004 (Пт) 13:18

Сообщение tofik » 10.01.2005 (Пн) 17:46

а я могу в обычный объект скопировать весь текст из какого нибудь обьекта ворда?
проще говоря в каком объекте храниться текст активного документа?

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 10.01.2005 (Пн) 18:21

Вот написал кое-что

Код: Выделить всё
Надо подключить к проекту Microsoft Word
Private Sub Form_Load()
Dim WW As New Word.Application
WW.Documents.Open "C:\doc1.doc"
    WW.Visible = False
    WW.ActiveDocument.HasRoutingSlip = False
    WW.ActiveDocument.HasRoutingSlip = True
    WW.ActiveDocument.RoutingSlip.AddRecipient Recipient:="Адрес"
    With ActiveDocument
        With .RoutingSlip
            .Protect = wdAllowOnlyComments
            .Subject = "Тема"
            .Message = "Тут текст сообщения"
            .Delivery = wdOneAfterAnother
            .ReturnWhenDone = True
            .TrackStatus = True
        End With
        .Route
    End With
End Sub


Вот такой код откроет документ и отправит его :)

tofik
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 102
Зарегистрирован: 30.04.2004 (Пт) 13:18

Сообщение tofik » 10.01.2005 (Пн) 18:35

ПОПРОБЫВАЛ. А ОН МНЕ ПИШЕТ: "Документ не содержит маршрута. Добавьте его и попробуйте еще раз".
Что бы это значило???


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 13

    TopList