Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Автоматическая отправка письма с запросом данных. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматическая отправка письма с запросом данных. (Макросы/Sub)
Автоматическая отправка письма с запросом данных.
kainos53 Дата: Понедельник, 24.11.2014, 10:02 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Товарищи форумчане, Добрый день.

У меня имеется макрос честно найденный на просторах интернета. Он умеет создавать заранее написанное пись автоматически. Но встала необходимость доработать его и дать ему возможность запрашивать текстовые данные через форму и вставлять их в тему письма.

Принцип работы простой во вложенном файле есть кнопка макроса при ее нажатии хотелось бы видеть форму которая требует ввести текст с двумя кнопками OK и Cancel. При вводе текста и нажатии ОК текст вставляется в конец темы письма. При отмене в конец темы вставляется заранее написанный текст.

[vba]
Код
Sub Test_macr()
Application.DisplayAlerts = False
Dim OutlookApp As Object, SM As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set SM = OutlookApp.CreateItem(olMailItem)
SM.To = ""
SM.CC = ""
SM.Subject = "Тема письма в которую нужно вставить данные"
On Error Resume Next
'в этом случае открывается письмо
'с подписью той которая по умолчанию в Outlooke
SM.Body = Activedocument.Content
SM.HTMLBody = Activedocument.Content.Text
If Dir(FullFilePath) <> "" Then
SM.Attachments.Add ("") 'Адрес вложения
Else
MsgBox "Файл для вложения не найден: " & Chr(13)
End If
SM.Display
SM.HTMLBody = "текст письма" & SM.HTMLBody
Set SM = Nothing
Set OutlookApp = Nothing
End Sub
[/vba]

[moder]Оформляйте коды тегами, кнопка #[/moder]
К сообщению приложен файл: New_Microsoft_E.xlsm (19.8 Kb)


Сообщение отредактировал kainos53 - Понедельник, 24.11.2014, 10:03
 
Ответить
СообщениеТоварищи форумчане, Добрый день.

У меня имеется макрос честно найденный на просторах интернета. Он умеет создавать заранее написанное пись автоматически. Но встала необходимость доработать его и дать ему возможность запрашивать текстовые данные через форму и вставлять их в тему письма.

Принцип работы простой во вложенном файле есть кнопка макроса при ее нажатии хотелось бы видеть форму которая требует ввести текст с двумя кнопками OK и Cancel. При вводе текста и нажатии ОК текст вставляется в конец темы письма. При отмене в конец темы вставляется заранее написанный текст.

[vba]
Код
Sub Test_macr()
Application.DisplayAlerts = False
Dim OutlookApp As Object, SM As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set SM = OutlookApp.CreateItem(olMailItem)
SM.To = ""
SM.CC = ""
SM.Subject = "Тема письма в которую нужно вставить данные"
On Error Resume Next
'в этом случае открывается письмо
'с подписью той которая по умолчанию в Outlooke
SM.Body = Activedocument.Content
SM.HTMLBody = Activedocument.Content.Text
If Dir(FullFilePath) <> "" Then
SM.Attachments.Add ("") 'Адрес вложения
Else
MsgBox "Файл для вложения не найден: " & Chr(13)
End If
SM.Display
SM.HTMLBody = "текст письма" & SM.HTMLBody
Set SM = Nothing
Set OutlookApp = Nothing
End Sub
[/vba]

[moder]Оформляйте коды тегами, кнопка #[/moder]

Автор - kainos53
Дата добавления - 24.11.2014 в 10:02
Cheshir0067 Дата: Понедельник, 24.11.2014, 10:20 | Сообщение № 2
Группа: Проверенные
Ранг: Новичок
Сообщений: 35
Репутация: 8 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код

x =InputBox("Введите текст для отправки")
If x = "" then
SM.Subject = "Тема письма"
Else
SM.Subject ="Тема письма" & x
End If
  
[/vba]


irelandzp@gmail.com

Сообщение отредактировал Cheshir0067 - Понедельник, 24.11.2014, 10:39
 
Ответить
Сообщение[vba]
Код

x =InputBox("Введите текст для отправки")
If x = "" then
SM.Subject = "Тема письма"
Else
SM.Subject ="Тема письма" & x
End If
  
[/vba]

Автор - Cheshir0067
Дата добавления - 24.11.2014 в 10:20
kainos53 Дата: Понедельник, 23.05.2016, 08:21 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Уважаемые форумчане. Моя компания решила перейти на офис 2016 и как следствие такой переход приносит одни проблемы.

У меня перестало формироваться автоматическое письмо. Прошу вашего содействия в фиксе данного бага.

вот код макроса:
[vba]
Код

Sub test()
Application.DisplayAlerts = False
Dim OutlookApp As Object, SM As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set SM = OutlookApp.CreateItem(olMailItem)
SM.To = ""
SM.CC = ""
y = "test1 "
x = InputBox("Введите номер:")
If x = "" Then
SM.Subject = y & "With out WO or SN."
Else
SM.Subject = y & x
End If
On Error Resume Next
'в этом случае открывается письмо
'с подписью той которая по умолчанию в Outlooke
SM.Body = Activedocument.Content
SM.HTMLBody = Activedocument.Content.Text
If Dir(FullFilePath) <> "" Then
SM.Attachments.add ("") 'Адрес вложения
Else
MsgBox "Файл для вложения не найден: " & Chr(13)
End If
SM.Display
SM.HTMLBody = "test2" & SM.HTMLBody
Set SM = Nothing
Set SM = Nothing
Set OutlookApp = Nothing
Dim objClpb As New DataObject, sStr As String
    sStr = "test3"
    objClpb.SetText sStr
    objClpb.PutInClipboard
End Sub

[/vba]
[moder]Если рабочий код отправки писем не работает в 2016, то это немного другая тема, которую примерно так и нужно назвать.
Возможно, не у Вас одного такая проблема и другим будет проще поиском найти ответ.
А эту тему закрываю.


Сообщение отредактировал _Boroda_ - Понедельник, 23.05.2016, 09:21
 
Ответить
СообщениеУважаемые форумчане. Моя компания решила перейти на офис 2016 и как следствие такой переход приносит одни проблемы.

У меня перестало формироваться автоматическое письмо. Прошу вашего содействия в фиксе данного бага.

вот код макроса:
[vba]
Код

Sub test()
Application.DisplayAlerts = False
Dim OutlookApp As Object, SM As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set SM = OutlookApp.CreateItem(olMailItem)
SM.To = ""
SM.CC = ""
y = "test1 "
x = InputBox("Введите номер:")
If x = "" Then
SM.Subject = y & "With out WO or SN."
Else
SM.Subject = y & x
End If
On Error Resume Next
'в этом случае открывается письмо
'с подписью той которая по умолчанию в Outlooke
SM.Body = Activedocument.Content
SM.HTMLBody = Activedocument.Content.Text
If Dir(FullFilePath) <> "" Then
SM.Attachments.add ("") 'Адрес вложения
Else
MsgBox "Файл для вложения не найден: " & Chr(13)
End If
SM.Display
SM.HTMLBody = "test2" & SM.HTMLBody
Set SM = Nothing
Set SM = Nothing
Set OutlookApp = Nothing
Dim objClpb As New DataObject, sStr As String
    sStr = "test3"
    objClpb.SetText sStr
    objClpb.PutInClipboard
End Sub

[/vba]
[moder]Если рабочий код отправки писем не работает в 2016, то это немного другая тема, которую примерно так и нужно назвать.
Возможно, не у Вас одного такая проблема и другим будет проще поиском найти ответ.
А эту тему закрываю.

Автор - kainos53
Дата добавления - 23.05.2016 в 08:21
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматическая отправка письма с запросом данных. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!