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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос на отправку формы (нескольким адресатам)через Outlook - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Макрос на отправку формы (нескольким адресатам)через Outlook
Netsky Дата: Вторник, 10.01.2017, 10:23 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 1 ±
Замечаний: 0% ±

Excel 2013
Доброго времени суток уважаемые форумчане, имеется макрос на отправку писем по заданным адресам, проблема в том, что он отправляет только лишь ячейки С8:С13, что в коде нужно исправить для того чтобы отправлялся весь диапазон (С8:Н16), файл с примером приложил.
К сообщению приложен файл: ___.xlsm (32.8 Kb)


Сообщение отредактировал Netsky - Вторник, 10.01.2017, 10:27
 
Ответить
СообщениеДоброго времени суток уважаемые форумчане, имеется макрос на отправку писем по заданным адресам, проблема в том, что он отправляет только лишь ячейки С8:С13, что в коде нужно исправить для того чтобы отправлялся весь диапазон (С8:Н16), файл с примером приложил.

Автор - Netsky
Дата добавления - 10.01.2017 в 10:23
K-SerJC Дата: Вторник, 10.01.2017, 11:16 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 487
Репутация: 86 ±
Замечаний: 0% ±

Excel 2013
вот в этой строчке:
[vba]
Код
.Body = Worksheets("Список").Cells(2, 2) & Chr(10) & Chr(10) & Worksheets("Главная").Cells(8, 3) & Chr(10) & Chr(9) & Worksheets("Главная").Cells(9, 3) & Chr(10) & Chr(10) & Worksheets("Главная").Cells(10, 3) & Chr(10) & Worksheets("Главная").Cells(11, 3) & Chr(10) & Worksheets("Главная").Cells(12, 3) & Chr(10) & Worksheets("Главная").Cells(13, 3) 'ActiveDocument.Content
[/vba]
вы задаете текст который отобразиться в теле письма
[vba]
Код
Chr(10)
[/vba] это переход на след.строку
[vba]
Код
Worksheets("Главная").Cells(11, 3)
[/vba] это текст из ячейки 11я строка, 3 столбец


Благими намерениями выстелена дорога в АД.
 
Ответить
Сообщениевот в этой строчке:
[vba]
Код
.Body = Worksheets("Список").Cells(2, 2) & Chr(10) & Chr(10) & Worksheets("Главная").Cells(8, 3) & Chr(10) & Chr(9) & Worksheets("Главная").Cells(9, 3) & Chr(10) & Chr(10) & Worksheets("Главная").Cells(10, 3) & Chr(10) & Worksheets("Главная").Cells(11, 3) & Chr(10) & Worksheets("Главная").Cells(12, 3) & Chr(10) & Worksheets("Главная").Cells(13, 3) 'ActiveDocument.Content
[/vba]
вы задаете текст который отобразиться в теле письма
[vba]
Код
Chr(10)
[/vba] это переход на след.строку
[vba]
Код
Worksheets("Главная").Cells(11, 3)
[/vba] это текст из ячейки 11я строка, 3 столбец

Автор - K-SerJC
Дата добавления - 10.01.2017 в 11:16
Netsky Дата: Вторник, 10.01.2017, 11:22 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 1 ±
Замечаний: 0% ±

Excel 2013
вот в этой строчке:

Я правильно Вас понял, каждую ячейку необходимо прописать отдельно? Или есть вариант указать диапазон ячеек?
 
Ответить
Сообщение
вот в этой строчке:

Я правильно Вас понял, каждую ячейку необходимо прописать отдельно? Или есть вариант указать диапазон ячеек?

Автор - Netsky
Дата добавления - 10.01.2017 в 11:22
SLAVICK Дата: Вторник, 10.01.2017, 11:23 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
добавляем ЮДФку RangetoHTML - отсюда
И меняем строку :
[vba]
Код
.Body = Worksheets("Список").Cells(2, 2) & Chr(10) & Chr(10) & Worksheets("Главная").Cells(8, 3) & Chr(10) & Chr(9) & Worksheets("Главная").Cells(9, 3) & Chr(10) & Chr(10) & Worksheets("Главная").Cells(10, 3) & Chr(10) & Worksheets("Главная").Cells(11, 3) & Chr(10) & Worksheets("Главная").Cells(12, 3) & Chr(10) & Worksheets("Главная").Cells(13, 3) 'ActiveDocument.Content
[/vba]
на
[vba]
Код
.HTMLBody = RangetoHTML(Worksheets("Главная").Range("c8:h16"))
[/vba]
К сообщению приложен файл: -2-2017-01-10_1.xlsm (35.0 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщениедобавляем ЮДФку RangetoHTML - отсюда
И меняем строку :
[vba]
Код
.Body = Worksheets("Список").Cells(2, 2) & Chr(10) & Chr(10) & Worksheets("Главная").Cells(8, 3) & Chr(10) & Chr(9) & Worksheets("Главная").Cells(9, 3) & Chr(10) & Chr(10) & Worksheets("Главная").Cells(10, 3) & Chr(10) & Worksheets("Главная").Cells(11, 3) & Chr(10) & Worksheets("Главная").Cells(12, 3) & Chr(10) & Worksheets("Главная").Cells(13, 3) 'ActiveDocument.Content
[/vba]
на
[vba]
Код
.HTMLBody = RangetoHTML(Worksheets("Главная").Range("c8:h16"))
[/vba]

Автор - SLAVICK
Дата добавления - 10.01.2017 в 11:23
Netsky Дата: Вторник, 10.01.2017, 12:02 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 1 ±
Замечаний: 0% ±

Excel 2013
добавляем ЮДФку RangetoHTML

Скажите пожалуйста как это сделать, к сожалению ранее никогда не сталкивался с этим и поиск в гугле инфу не выдает.
 
Ответить
Сообщение
добавляем ЮДФку RangetoHTML

Скажите пожалуйста как это сделать, к сожалению ранее никогда не сталкивался с этим и поиск в гугле инфу не выдает.

Автор - Netsky
Дата добавления - 10.01.2017 в 12:02
SLAVICK Дата: Вторник, 10.01.2017, 12:13 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Скажите пожалуйста как это сделать

В файле я уже все сделал.(см. вложение из поста №4)
я поменял строки в процедуре "просмотр"


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
Скажите пожалуйста как это сделать

В файле я уже все сделал.(см. вложение из поста №4)
я поменял строки в процедуре "просмотр"

Автор - SLAVICK
Дата добавления - 10.01.2017 в 12:13
Netsky Дата: Вторник, 10.01.2017, 12:57 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 1 ±
Замечаний: 0% ±

Excel 2013
В файле я уже все сделал.

SLAVICK, Уважаемый модератор, макрос выдает ошибку: Can't find project library, запускал с двух разных компьютеров, в чем может быть причина?


Сообщение отредактировал Netsky - Вторник, 10.01.2017, 14:28
 
Ответить
Сообщение
В файле я уже все сделал.

SLAVICK, Уважаемый модератор, макрос выдает ошибку: Can't find project library, запускал с двух разных компьютеров, в чем может быть причина?

Автор - Netsky
Дата добавления - 10.01.2017 в 12:57
SLAVICK Дата: Вторник, 10.01.2017, 15:33 | Сообщение № 8
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
макрос выдает ошибку

на какой строке?


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

на какой строке?

Автор - SLAVICK
Дата добавления - 10.01.2017 в 15:33
Netsky Дата: Вторник, 10.01.2017, 15:36 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 1 ±
Замечаний: 0% ±

Excel 2013
SLAVICK,
на какой строке?

Макрос: Просмотр, строка Dim oOutlookApp As Outlook.Application
 
Ответить
СообщениеSLAVICK,
на какой строке?

Макрос: Просмотр, строка Dim oOutlookApp As Outlook.Application

Автор - Netsky
Дата добавления - 10.01.2017 в 15:36
SLAVICK Дата: Вторник, 10.01.2017, 15:48 | Сообщение № 10
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
вы из файла примера запускаете код?
если нет - нужно подключить библиотеку:
tools -- references - - Microsoft Outlook ....


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщениевы из файла примера запускаете код?
если нет - нужно подключить библиотеку:
tools -- references - - Microsoft Outlook ....

Автор - SLAVICK
Дата добавления - 10.01.2017 в 15:48
Netsky Дата: Вторник, 10.01.2017, 15:53 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 1 ±
Замечаний: 0% ±

Excel 2013
вы из файла примера запускаете код?
если нет - нужно подключить библиотеку:
tools -- references - - Microsoft Outlook ....

Запускаю именно из примера, и в Excel 2013 нет "tools -- references - - Microsoft Outlook ...." Дайте волшебного пинка, направьте пожалуйста.
 
Ответить
Сообщение
вы из файла примера запускаете код?
если нет - нужно подключить библиотеку:
tools -- references - - Microsoft Outlook ....

Запускаю именно из примера, и в Excel 2013 нет "tools -- references - - Microsoft Outlook ...." Дайте волшебного пинка, направьте пожалуйста.

Автор - Netsky
Дата добавления - 10.01.2017 в 15:53
SLAVICK Дата: Вторник, 10.01.2017, 17:57 | Сообщение № 12
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Запускаю именно из примера

тогда должно работать - а почтовик какой установлен?
и в Excel 2013 нет

открываем файл
alt F11
дальше:
tools -- references - - Microsoft Outlook ....


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
Запускаю именно из примера

тогда должно работать - а почтовик какой установлен?
и в Excel 2013 нет

открываем файл
alt F11
дальше:
tools -- references - - Microsoft Outlook ....

Автор - SLAVICK
Дата добавления - 10.01.2017 в 17:57
Netsky Дата: Среда, 11.01.2017, 08:36 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 1 ±
Замечаний: 0% ±

Excel 2013
открываем файл
alt F11
дальше:

Оказывается у меня был переустановлен Outlook в связи с чем Excel пытался открыть не существующую версию программы, переставил галочку на рабочий Outlook, теперь письмо нормально формируется, но отправить все также не получается.
 
Ответить
Сообщение
открываем файл
alt F11
дальше:

Оказывается у меня был переустановлен Outlook в связи с чем Excel пытался открыть не существующую версию программы, переставил галочку на рабочий Outlook, теперь письмо нормально формируется, но отправить все также не получается.

Автор - Netsky
Дата добавления - 11.01.2017 в 08:36
SLAVICK Дата: Среда, 11.01.2017, 09:51 | Сообщение № 14
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
но отправить все также не получается

ну что ж Вы такой невнимательный?
Я же писал:
поменял строки в процедуре "просмотр"

И меняем строку : .....
на
.....

Значит нужно еще поменять во всех остальных процедурах, в Вашем случае - еще в процедуре "Отправить".
Вот держите пример.
К сообщению приложен файл: 0460436.xlsm (31.8 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
но отправить все также не получается

ну что ж Вы такой невнимательный?
Я же писал:
поменял строки в процедуре "просмотр"

И меняем строку : .....
на
.....

Значит нужно еще поменять во всех остальных процедурах, в Вашем случае - еще в процедуре "Отправить".
Вот держите пример.

Автор - SLAVICK
Дата добавления - 11.01.2017 в 09:51
Netsky Дата: Среда, 11.01.2017, 11:07 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 1 ±
Замечаний: 0% ±

Excel 2013
Вот держите пример.

Большое спасибо за вашу помощь, я нашел причину ошибки "Can't find project library", оказывается у меня была подключена какая-то несуществующая библиотекаСкриншот, я подключил в итоге другую единственную доступнуюСкриншот2, но по итогу я так и не могу отправить письма, просмотреть могу, не понимаю в чем причина, может какие настройки стоит проверить?
 
Ответить
Сообщение
Вот держите пример.

Большое спасибо за вашу помощь, я нашел причину ошибки "Can't find project library", оказывается у меня была подключена какая-то несуществующая библиотекаСкриншот, я подключил в итоге другую единственную доступнуюСкриншот2, но по итогу я так и не могу отправить письма, просмотреть могу, не понимаю в чем причина, может какие настройки стоит проверить?

Автор - Netsky
Дата добавления - 11.01.2017 в 11:07
SLAVICK Дата: Среда, 11.01.2017, 13:33 | Сообщение № 16
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
но по итогу я так и не могу отправить письма,

Да потому что у Вас макрос проверяет заполнение 2-го столбца тут, а в списке заполнен только 1-й столбец.
Меняйте процедуру:
[vba]
Код
Sub старт_отправить()
i = 2
Do While Worksheets("Список").Cells(i, 1) <> ""
Run "отправить", i
i = i + 1
Loop
MsgBox "Обожаю начальника"
End Sub
[/vba]
К сообщению приложен файл: 0460436-1-.xlsm (35.9 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
но по итогу я так и не могу отправить письма,

Да потому что у Вас макрос проверяет заполнение 2-го столбца тут, а в списке заполнен только 1-й столбец.
Меняйте процедуру:
[vba]
Код
Sub старт_отправить()
i = 2
Do While Worksheets("Список").Cells(i, 1) <> ""
Run "отправить", i
i = i + 1
Loop
MsgBox "Обожаю начальника"
End Sub
[/vba]

Автор - SLAVICK
Дата добавления - 11.01.2017 в 13:33
Netsky Дата: Среда, 11.01.2017, 14:13 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 1 ±
Замечаний: 0% ±

Excel 2013
Да потому что у Вас макрос проверяет заполнение 2-го столбца тут, а в списке заполнен только 1-й столбец.

Все работает, спасибо большое уважаемый модератор, у вас просто ангельское терпение!
 
Ответить
Сообщение
Да потому что у Вас макрос проверяет заполнение 2-го столбца тут, а в списке заполнен только 1-й столбец.

Все работает, спасибо большое уважаемый модератор, у вас просто ангельское терпение!

Автор - Netsky
Дата добавления - 11.01.2017 в 14:13
  • Страница 1 из 1
  • 1
Поиск:

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