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

Вход

Регистрация

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

 

= Мир MS Excel/Отправка файла через The Bat - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отправка файла через The Bat (pdf файл нужно отправить на выбранный емайл адрес)
Отправка файла через The Bat
Лехаа Дата: Пятница, 01.02.2013, 14:43 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 68
Репутация: 4 ±
Замечаний: 0% ±

Добрый день, smile
Вложил пример, прошу помощи в решении проблемы по формированию письма в почтовой программе The bat
К сообщению приложен файл: 9275241.xlsm (34.2 Kb)


Сообщение отредактировал Лехаа - Пятница, 01.02.2013, 14:44
 
Ответить
СообщениеДобрый день, smile
Вложил пример, прошу помощи в решении проблемы по формированию письма в почтовой программе The bat

Автор - Лехаа
Дата добавления - 01.02.2013 в 14:43
Serge_007 Дата: Пятница, 01.02.2013, 14:59 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Почитайте здесь


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеПочитайте здесь

Автор - Serge_007
Дата добавления - 01.02.2013 в 14:59
Лехаа Дата: Пятница, 01.02.2013, 15:05 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 68
Репутация: 4 ±
Замечаний: 0% ±

Цитата (Serge_007)
Почитайте здесь

Спасибо, это я уже смотрел - что то можно позаимствовать но не то, я хочу чтобы письмо формировалось на одного адресата емайл которого выбирается по принципу указанной ячейки выбранной строки

вопрос остается открытым: как из ячейки U5 преобразовать ее в емайл адрес
(т.е. по клику открывается письмо the bat с уже вписанным туда этим адресом или по другому из списка выбрать нужное - не могу придумать)
и второй вопрос как сформированному файлу pdf присвоить имя из выбранного в выпадающего списка


Сообщение отредактировал Лехаа - Пятница, 01.02.2013, 15:52
 
Ответить
Сообщение
Цитата (Serge_007)
Почитайте здесь

Спасибо, это я уже смотрел - что то можно позаимствовать но не то, я хочу чтобы письмо формировалось на одного адресата емайл которого выбирается по принципу указанной ячейки выбранной строки

вопрос остается открытым: как из ячейки U5 преобразовать ее в емайл адрес
(т.е. по клику открывается письмо the bat с уже вписанным туда этим адресом или по другому из списка выбрать нужное - не могу придумать)
и второй вопрос как сформированному файлу pdf присвоить имя из выбранного в выпадающего списка

Автор - Лехаа
Дата добавления - 01.02.2013 в 15:05
Logist Дата: Четверг, 16.05.2013, 17:36 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 62
Репутация: 1 ±
Замечаний: 0% ±

Добрый вечер форумчане!
Данный макрос предназначен, что б поочередно отправлять три разные файла
на три разных адреса через программу The Bat!
Сам макрос делал через «Запись макросов».
На данный момент картина такова.
При запуске
1 Открывается файл
2 Создается письмо
3 Я (или пользователь) вручную ставлю адрес получателя
4 Закрывается файл
И по новой.
Можно ли програмно указать адреса, для каждого письма в коде ?

[vba]
Код
Application.ScreenUpdating = False
     Application.DisplayAlerts = False
     Workbooks.Open Filename:="C:\ОДОЧОН.xlsx"  ' открытие файла
     Application.Dialogs(xlDialogSendMail).Show 'создание письма
     ActiveWorkbook.Close                       ' закрытие файла
     Workbooks.Open Filename:="C:\ОДОЧОН Симферополь.xls" ' открытие файла
     Application.Dialogs(xlDialogSendMail).Show           'создание письма
     ActiveWorkbook.Close                    ' закрытие файла
     Workbooks.Open Filename:="C:\ОДОЧОНСевастополь.xls"  ' открытие файла
     Application.Dialogs(xlDialogSendMail).Show           'создание письма
     ActiveWorkbook.Close                    ' закрытие файла
     Application.ScreenUpdating = False
     Application.DisplayAlerts = True
      MsgBox "Готово!", vbExclamation, "Готово!"
[/vba]

Заранее спасибо.
 
Ответить
СообщениеДобрый вечер форумчане!
Данный макрос предназначен, что б поочередно отправлять три разные файла
на три разных адреса через программу The Bat!
Сам макрос делал через «Запись макросов».
На данный момент картина такова.
При запуске
1 Открывается файл
2 Создается письмо
3 Я (или пользователь) вручную ставлю адрес получателя
4 Закрывается файл
И по новой.
Можно ли програмно указать адреса, для каждого письма в коде ?

[vba]
Код
Application.ScreenUpdating = False
     Application.DisplayAlerts = False
     Workbooks.Open Filename:="C:\ОДОЧОН.xlsx"  ' открытие файла
     Application.Dialogs(xlDialogSendMail).Show 'создание письма
     ActiveWorkbook.Close                       ' закрытие файла
     Workbooks.Open Filename:="C:\ОДОЧОН Симферополь.xls" ' открытие файла
     Application.Dialogs(xlDialogSendMail).Show           'создание письма
     ActiveWorkbook.Close                    ' закрытие файла
     Workbooks.Open Filename:="C:\ОДОЧОНСевастополь.xls"  ' открытие файла
     Application.Dialogs(xlDialogSendMail).Show           'создание письма
     ActiveWorkbook.Close                    ' закрытие файла
     Application.ScreenUpdating = False
     Application.DisplayAlerts = True
      MsgBox "Готово!", vbExclamation, "Готово!"
[/vba]

Заранее спасибо.

Автор - Logist
Дата добавления - 16.05.2013 в 17:36
Serge_007 Дата: Четверг, 16.05.2013, 17:46 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Arg1 - адрес получателя
Arg2 - тема письма
[vba]
Код
Application.Dialogs(xlDialogSendMail).Show Arg1:="excelworld@mail.ru", Arg2:="Logist"
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеArg1 - адрес получателя
Arg2 - тема письма
[vba]
Код
Application.Dialogs(xlDialogSendMail).Show Arg1:="excelworld@mail.ru", Arg2:="Logist"
[/vba]

Автор - Serge_007
Дата добавления - 16.05.2013 в 17:46
Logist Дата: Пятница, 17.05.2013, 09:44 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 62
Репутация: 1 ±
Замечаний: 0% ±

Спасибо вы как всегда на высоте.

Ещё не проверил, но сразу возник вопрос:
Как исправить данный код чтоб:
Адреса берем из ячейки А1,А2,А3, .......
Путь к файлу из ячейки В1,В2, В3, ......
Тема из ячейки С1,С2,С3, .......
Идея в чем - если ячейки А1,В1,С1 ....... заполнена то создаем и отправляем письмо с файлом, до пустой ячейки.
Просто адреса могут изменится и каждый раз переписывать в коде как то не хорошо.
 
Ответить
СообщениеСпасибо вы как всегда на высоте.

Ещё не проверил, но сразу возник вопрос:
Как исправить данный код чтоб:
Адреса берем из ячейки А1,А2,А3, .......
Путь к файлу из ячейки В1,В2, В3, ......
Тема из ячейки С1,С2,С3, .......
Идея в чем - если ячейки А1,В1,С1 ....... заполнена то создаем и отправляем письмо с файлом, до пустой ячейки.
Просто адреса могут изменится и каждый раз переписывать в коде как то не хорошо.

Автор - Logist
Дата добавления - 17.05.2013 в 09:44
Serge_007 Дата: Пятница, 17.05.2013, 09:49 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (Logist)
Адреса берем из ячейки А1...

[vba]
Код
Dim adress As String
adress = Range("a1").Value
Application.Dialogs(xlDialogSendMail).Show Arg1:=adress
[/vba]
Остальное по аналогии


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (Logist)
Адреса берем из ячейки А1...

[vba]
Код
Dim adress As String
adress = Range("a1").Value
Application.Dialogs(xlDialogSendMail).Show Arg1:=adress
[/vba]
Остальное по аналогии

Автор - Serge_007
Дата добавления - 17.05.2013 в 09:49
Logist Дата: Пятница, 17.05.2013, 11:27 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 62
Репутация: 1 ±
Замечаний: 0% ±

Вот мой код.

[vba]
Код

Workbooks.Open Filename:="C:\ОДОЧОН.xlsx"  ' открытие файла
      Dim adress As String
      adress = Range("B10").Value
      Application.Dialogs(xlDialogSendMail).Show Arg1:=adress 'создание письма
      ActiveWorkbook.Close                       ' закрытие файла

[/vba]

но при создании письма в The Bat адрес равен "Алушта, СѓР».Первомайская"
хотя в ячейке "B10" содержится адрес "logist2@kardinal.com.ua"

в чем причина - формат?


Сообщение отредактировал Logist - Пятница, 17.05.2013, 11:29
 
Ответить
СообщениеВот мой код.

[vba]
Код

Workbooks.Open Filename:="C:\ОДОЧОН.xlsx"  ' открытие файла
      Dim adress As String
      adress = Range("B10").Value
      Application.Dialogs(xlDialogSendMail).Show Arg1:=adress 'создание письма
      ActiveWorkbook.Close                       ' закрытие файла

[/vba]

но при создании письма в The Bat адрес равен "Алушта, СѓР».Первомайская"
хотя в ячейке "B10" содержится адрес "logist2@kardinal.com.ua"

в чем причина - формат?

Автор - Logist
Дата добавления - 17.05.2013 в 11:27
Serge_007 Дата: Пятница, 17.05.2013, 11:44 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
У меня нет The Bat, поэтому проверить не могу. Попробуйте так:
[vba]
Код
Application.Dialogs(xlDialogSendMail).Show Arg1:= & Chr(34) & adress & Chr(34)
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеУ меня нет The Bat, поэтому проверить не могу. Попробуйте так:
[vba]
Код
Application.Dialogs(xlDialogSendMail).Show Arg1:= & Chr(34) & adress & Chr(34)
[/vba]

Автор - Serge_007
Дата добавления - 17.05.2013 в 11:44
Logist Дата: Пятница, 17.05.2013, 11:57 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 62
Репутация: 1 ±
Замечаний: 0% ±

Цитата (Serge_007)
Application.Dialogs(xlDialogSendMail).Show Arg1:= & Chr(34) & adress & Chr(34)


Выдает ошибку "Expected expression"
перед
[vba]
Код
& Chr(34) & adress & Chr(34)
[/vba]

Я конечно перевел что "ожидается выражение"
но какое?

wacko

Если переписать код вот так
[vba]
Код

   'Application.ScreenUpdating = False
     'Application.DisplayAlerts = False
     Workbooks.Open Filename:="C:\ОДОЧОН.xlsx"  ' открытие файла
     Dim adress As String
     adress = "Логист2 <logist2@kardinal.com.ua>"
     Application.Dialogs(xlDialogSendMail).Show Arg1:=adress
      
     'Application.Dialogs(xlDialogSendMail).Show Arg1:= & Chr(34) & adress & Chr(34) 'создание письма
     ActiveWorkbook.Close                       ' закрытие файла
[/vba]
то все работает но не подходит.
Т.е. ошибка когда берем данные из ячейки?


Сообщение отредактировал Logist - Пятница, 17.05.2013, 12:03
 
Ответить
Сообщение
Цитата (Serge_007)
Application.Dialogs(xlDialogSendMail).Show Arg1:= & Chr(34) & adress & Chr(34)


Выдает ошибку "Expected expression"
перед
[vba]
Код
& Chr(34) & adress & Chr(34)
[/vba]

Я конечно перевел что "ожидается выражение"
но какое?

wacko

Если переписать код вот так
[vba]
Код

   'Application.ScreenUpdating = False
     'Application.DisplayAlerts = False
     Workbooks.Open Filename:="C:\ОДОЧОН.xlsx"  ' открытие файла
     Dim adress As String
     adress = "Логист2 <logist2@kardinal.com.ua>"
     Application.Dialogs(xlDialogSendMail).Show Arg1:=adress
      
     'Application.Dialogs(xlDialogSendMail).Show Arg1:= & Chr(34) & adress & Chr(34) 'создание письма
     ActiveWorkbook.Close                       ' закрытие файла
[/vba]
то все работает но не подходит.
Т.е. ошибка когда берем данные из ячейки?

Автор - Logist
Дата добавления - 17.05.2013 в 11:57
Serge_007 Дата: Пятница, 17.05.2013, 12:27 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
При копировании лишние знаки попались smile
Имелось ввиду так:
[vba]
Код
Application.Dialogs(xlDialogSendMail).Show Arg1:=Chr(34) & adress & Chr(34)
[/vba]
Посмотрите эту ссылку

Добавлено (17.05.2013, 12:27)
---------------------------------------------

Цитата (Logist)
ошибка когда берем данные из ячейки?

А Вы запишите адрес в ячейку и попробуйте


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеПри копировании лишние знаки попались smile
Имелось ввиду так:
[vba]
Код
Application.Dialogs(xlDialogSendMail).Show Arg1:=Chr(34) & adress & Chr(34)
[/vba]
Посмотрите эту ссылку

Добавлено (17.05.2013, 12:27)
---------------------------------------------

Цитата (Logist)
ошибка когда берем данные из ячейки?

А Вы запишите адрес в ячейку и попробуйте

Автор - Serge_007
Дата добавления - 17.05.2013 в 12:27
Logist Дата: Пятница, 17.05.2013, 12:48 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 62
Репутация: 1 ±
Замечаний: 0% ±

Исправил код

[vba]
Код

     'Application.ScreenUpdating = False
     'Application.DisplayAlerts = False
     Workbooks.Open Filename:="C:\ОДОЧОН.xlsx"  ' открытие файла
     Dim adress As String
     adress = Range("B10").Value
     'Application.Dialogs(xlDialogSendMail).Show Arg1:=adress
      
     Application.Dialogs(xlDialogSendMail).Show Arg1:=Chr(34) & adress & Chr(34)      'создание письма
     ActiveWorkbook.Close                       ' закрытие файла
[/vba]

Цитата

А Вы запишите адрес в ячейку и попробуйте

По пробовал но в адресе получателя выдает все то же "Алушта, СѓР».Первомайская"
по рекомендуемой вами ссылке я уже был, но как то все сложно.
Штука в том что осталось разобраться почему передает адрес не корректно
а написать заново код без "Записи макроса" я пока не в силах.
 
Ответить
СообщениеИсправил код

[vba]
Код

     'Application.ScreenUpdating = False
     'Application.DisplayAlerts = False
     Workbooks.Open Filename:="C:\ОДОЧОН.xlsx"  ' открытие файла
     Dim adress As String
     adress = Range("B10").Value
     'Application.Dialogs(xlDialogSendMail).Show Arg1:=adress
      
     Application.Dialogs(xlDialogSendMail).Show Arg1:=Chr(34) & adress & Chr(34)      'создание письма
     ActiveWorkbook.Close                       ' закрытие файла
[/vba]

Цитата

А Вы запишите адрес в ячейку и попробуйте

По пробовал но в адресе получателя выдает все то же "Алушта, СѓР».Первомайская"
по рекомендуемой вами ссылке я уже был, но как то все сложно.
Штука в том что осталось разобраться почему передает адрес не корректно
а написать заново код без "Записи макроса" я пока не в силах.

Автор - Logist
Дата добавления - 17.05.2013 в 12:48
Serge_007 Дата: Пятница, 17.05.2013, 13:19 | Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Если хотите подождите вечера, установлю the Bat и посмотрю
Пока попробуйте так:
[vba]
Код
ActiveWorkbook.SendMail adress
[/vba]
и с кавычками поэксперементируйте


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеЕсли хотите подождите вечера, установлю the Bat и посмотрю
Пока попробуйте так:
[vba]
Код
ActiveWorkbook.SendMail adress
[/vba]
и с кавычками поэксперементируйте

Автор - Serge_007
Дата добавления - 17.05.2013 в 13:19
Logist Дата: Пятница, 17.05.2013, 13:26 | Сообщение № 14
Группа: Пользователи
Ранг: Участник
Сообщений: 62
Репутация: 1 ±
Замечаний: 0% ±

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

PS:
прикрепляю файл для большего понимания.
К сообщению приложен файл: NEW.xlsm (29.1 Kb)


Сообщение отредактировал Logist - Пятница, 17.05.2013, 13:34
 
Ответить
СообщениеСпасибо за помощь Сергей,
обязательно дождусь и по эксперементирую.

PS:
прикрепляю файл для большего понимания.

Автор - Logist
Дата добавления - 17.05.2013 в 13:26
Logist Дата: Вторник, 21.05.2013, 10:32 | Сообщение № 15
Группа: Пользователи
Ранг: Участник
Сообщений: 62
Репутация: 1 ±
Замечаний: 0% ±

Доброе утро!

Пошел другим путем.
Скачал файл по теме здесь
и попытался переделать под себя.
письма отправляются через The Bat,
но никак не могу добиться того чтоб прикрипился файл.
Исходя из темы понял что необходимо
указать параметр AttachFilename но не могу понять как и где?
Прикрепляю файл.

Помогите!

Excel 2010
Путь решения - макрос.

Заранее спасибо.
К сообщению приложен файл: _TheBAT.xls (48.0 Kb)


Сообщение отредактировал Logist - Вторник, 21.05.2013, 10:44
 
Ответить
СообщениеДоброе утро!

Пошел другим путем.
Скачал файл по теме здесь
и попытался переделать под себя.
письма отправляются через The Bat,
но никак не могу добиться того чтоб прикрипился файл.
Исходя из темы понял что необходимо
указать параметр AttachFilename но не могу понять как и где?
Прикрепляю файл.

Помогите!

Excel 2010
Путь решения - макрос.

Заранее спасибо.

Автор - Logist
Дата добавления - 21.05.2013 в 10:32
Serge_007 Дата: Вторник, 21.05.2013, 11:25 | Сообщение № 16
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Совсем забыл про эту тему

Цитата (Logist)
Исходя из темы понял что необходимо
указать параметр AttachFilename но не могу понять как и где?
Это в BAT надо указать путь к файлу


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеСовсем забыл про эту тему

Цитата (Logist)
Исходя из темы понял что необходимо
указать параметр AttachFilename но не могу понять как и где?
Это в BAT надо указать путь к файлу

Автор - Serge_007
Дата добавления - 21.05.2013 в 11:25
Logist Дата: Вторник, 21.05.2013, 11:37 | Сообщение № 17
Группа: Пользователи
Ранг: Участник
Сообщений: 62
Репутация: 1 ±
Замечаний: 0% ±

Цитата
Это в ВАТ надо указать путь к файлу

Но как это сделать?

У меня ведь для каждого письма свой файл.
тему письма и адресат я ведь передаю из Excel,
вот где указать что мол для этой темы путь из ячейки .... и т.п.
или как то по другому?
 
Ответить
Сообщение
Цитата
Это в ВАТ надо указать путь к файлу

Но как это сделать?

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

Автор - Logist
Дата добавления - 21.05.2013 в 11:37
Serge_007 Дата: Вторник, 21.05.2013, 11:48 | Сообщение № 18
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Не знаю
Я так и не скачал этот мессенджер


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеНе знаю
Я так и не скачал этот мессенджер

Автор - Serge_007
Дата добавления - 21.05.2013 в 11:48
Logist Дата: Вторник, 21.05.2013, 12:31 | Сообщение № 19
Группа: Пользователи
Ранг: Участник
Сообщений: 62
Репутация: 1 ±
Замечаний: 0% ±

в этом месте
[vba]
Код
Optional ByVal AttachFilename As String = "") As Boolean
[/vba]

меняю на
[vba]
Код
Optional ByVal AttachFilename As String = "C:\ОДОЧОН.xls") As Boolean
[/vba]

и файл прикрепляется.
Как прописать чтоб брал с ячейки?
так же как тему или адрес.


Сообщение отредактировал Logist - Вторник, 21.05.2013, 12:31
 
Ответить
Сообщениев этом месте
[vba]
Код
Optional ByVal AttachFilename As String = "") As Boolean
[/vba]

меняю на
[vba]
Код
Optional ByVal AttachFilename As String = "C:\ОДОЧОН.xls") As Boolean
[/vba]

и файл прикрепляется.
Как прописать чтоб брал с ячейки?
так же как тему или адрес.

Автор - Logist
Дата добавления - 21.05.2013 в 12:31
RAN Дата: Вторник, 21.05.2013, 13:22 | Сообщение № 20
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
А не нужно ничего менять. нужно функцию вызывать правильно.
Я думаю, что пример вызова этой функции имеется в том же месте.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеА не нужно ничего менять. нужно функцию вызывать правильно.
Я думаю, что пример вызова этой функции имеется в том же месте.

Автор - RAN
Дата добавления - 21.05.2013 в 13:22
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отправка файла через The Bat (pdf файл нужно отправить на выбранный емайл адрес)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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