|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
Есть отчет, который формируется в Access и потом отправляется автоматически по почте. Установлен Outlook XP и он то зараза не дает отправить сообщение: Участок кода, ответственный за отправку: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
При вызове метода Send появляется окошко, что дескать, программа пытается автоматически отправить письмо от моего имени, разрешать мол или нет. КАК ИЗБАВИТЬСЯ ОТ ЭТОЙ ХРЕНИ???? P.S. Догадываюсь, что это связано с установкой уровня безопасности в outlook'е, но блин так и не нашел, где этот уровень поменять? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2002, 10:14 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
с security update (из-за которого у тебя проблеммы) на vba через MAPI никак далее выдержки из msdn Item.Send When you run a program that uses the Outlook object model to call the Send method, you receive a warning message. This warning message tells you that a program is trying to send mail on your behalf and asks if you want to allow the message to be sent. The warning message contains both a Yes and a No button; however, the Yes button is not available until five seconds have passed since the warning message appeared. You can dismiss the warning message immediately if you click No. When you click No, the Send method returns an E_FAIL error in the C or C++ programming languages. Avoiding the Security Features The e-mail security features affect all custom solutions that use the Outlook object model, CDO, or Simple MAPI, even if they are digitally signed. This includes the following: Outlook custom forms that are published to any folder or forms library, including the Organizational Forms Library Outlook COM Add-ins Outlook Visual Basic for Applications Any other type of development project that uses the Outlook object model, CDO or Simple MAPI As a developer, you have various options when you try to avoid the security features. To summarize your typical options depending on where you are developing your solution: Outlook custom forms: Publish forms so that they are not one-off forms, or use the administrator features to enable VBScript code in one-off forms to run. Outlook Visual Basic for Applications: Use the administrator features to disable object model restrictions, or convert your Visual Basic for Applications code to a COM Add-in, and then register it by using the administrator form. COM add-ins: COM add-ins can be trusted if an administrator registers them by using the administrator form. However, when you are using a COM add-in, only the Outlook object model is exempted; the CDO object model will still generate warnings. You cannot trust COM add-ins in Outlook 2000. This was a feature that was added to the Outlook 2002 version of the administrator form. Automating the Outlook or CDO object models: Use the administrator features to disable object model restrictions. --------------------------- ссылки по теме: http://support.microsoft.com/default.aspx?scid=kb;en-us;290500 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2002, 19:38 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2002, 14:46 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
На самом деле решение есть! Есть библиотека разумеется за деньги которая это решает! http://www.microsoft.com/office/orkarchive/2003ddl.htm Как это сделать сам не знаю :( ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2005, 13:39 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
Yuriy ZaytsevКак это сделать сам не знаю :(кака бычна - послать клавиатуру сендкиём (что всегда чревато) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2005, 16:19 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
Можно посылать почту без использования учетной записи в Outlook-е. Надо использовать SMTP и объект CDO.Message. Подробнее про CDOSYS ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2005, 16:23 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
для outlook 2000 смотреть здесь http://www.sql.ru/forum/actualsearch.aspx?search=redemption&a=&ma=1&bid=4&dt=-1&s=1&so=1 ( http://www.dimastr.com/redemption/ ) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2005, 16:40 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
Я для отправки данных по почте использую DoCmd.SendObject. Отправляет без всяких вопросов, но вот только подтверждения о доставке-прочтении не выдает, сволочь. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2005, 09:34 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
Pestov При вызове метода Send появляется окошко, что дескать, программа пытается автоматически отправить письмо от моего имени, разрешать мол или нет. Хотела бы реанимировать тему... Может быть есть у кого-нибудь еще идеи. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2008, 16:38 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
Подсказали люди добрые с Хабаровска, сам седня столкнулся с тем же... Вобщем есть бесплатная прога от MAPILAB, которая позволяет обойти это выскаивающее сообщение с предупреждением о возможных вирусах http://www.mapilab.com/files/security_outlook.zip ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2009, 08:46 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
To generalmaximus Интересная штука, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2009, 10:53 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
Действительно отличная программка!!! Пытался использовать CDO, но были проблемы с отправкой из ящика Исходящие. Из всех ящиков отправляет. а из этого нет. Кароче нахлебался!! Программка помогла!!Респект авторам ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2009, 11:15 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
А я использую програмку ClickYes, которая сама нажимет "Да" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2009, 12:30 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
А я вот такую функцию использую: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2009, 15:24 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
samaranches, Очень клёвая функция, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2009, 12:57 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
А как ее запустить? что в кнопке написать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2009, 14:13 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
Добрый день! Я перед отправкой архивирую файл вложения, потом создаю письмо, прикрепляю архив, отсылаю. На больших файлах, которые архивируются подольше, у меня управление передается к следующему оператору, не дожидаясь когда процесс архивации дойдет до 100% :( В итоге к письму прикрепляется недоделанный архив :( Помогите, как правильно дождаться чтобы архив до конца заархивировался??? код следующий: 'основная процедура Private Sub s_Post_Office(AFileName As String, sBody As String, receiver As String) ', myOlApp As Variant) Dim ans Dim ArcName As String Dim myItem As Variant Dim myOlApp As Object Const olMailItem = 0 Const olFormatPlain = 1 Const myByValue = 1 Dim StartTime2 As Date Dim Endtime2 As Date Dim subj As String ArcName = "MyFile.rar" subj = "MyFile_" 'косячит в этом месте. не дожидаясь завершения - программа прет дальше ans = ShellExecute(Application.hwnd, "open", "C:\Program Files\WinRAR\rar.exe", "a -m5 """ & ArcName & """ """ & AFileName & """", "", SW_SHOW) ' SW_SHOW = 1 Set myOlApp = CreateObject("Outlook.Application") Set myItem = myOlApp.CreateItem(olMailItem) Otchety.s_WaitActive ans On Error GoTo l1 Call Sleep(1000) With myItem .BodyFormat = olFormatPlain .Body = sBody .Subject = subj .attachments.Add ArcName .Recipients.Add (receiver) .Display .send End With l1: On Error GoTo 0 End Sub 'вспомогательная процедура Sub s_WaitActive(TaskID) Dim hProc As Long Dim lExitCode As Long Dim Msg As String Const ACCESS_TYPE = &H400 Const STILL_ACTIVE = &H103 On Error GoTo ERR hProc = OpenProcess(ACCESS_TYPE, False, TaskID) Application.Cursor = xlWait Do GetExitCodeProcess hProc, lExitCode DoEvents Loop While lExitCode = STILL_ACTIVE Application.Cursor = xlDefault EXIT_SUB: Exit Sub ERR: If ERR.NUMBER <> 0 Then Msg = "Error # " & Str(ERR.NUMBER) & " was generated by " & ERR.Source & Chr(13) & ERR.Description MsgBox Msg, , "Error", ERR.HelpFile, ERR.HelpContext End If GoTo EXIT_SUB End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2010, 11:05 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2010, 11:24 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
Ёжик`, Спасибо! Переделал свою лабуду под ваш пример! ...... Dim p1 As String p1 = """C:\Program Files\WinRAR\rar.exe""" & " a -m5 """ & ArcName & """ """ & AFileName & """" Set Wsh = CreateObject("Wscript.Shell") Call Wsh.Run(p1, 1, True) Set Wsh = Nothing ...... работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2010, 05:02 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
Ку знатоки. Полезная для меня веточка... Но у меня затык - хочу чтобы письмо отсылалось адресату, чей адрес внесен в таблицу, в зависимости от адресата, информация будет делиться нужным образом... Как заставить это работать пока не знаю, ниже приведена строка, которая видимо имеет ошибку синтаксиса, но не пойму какую, перепробовал разные варианты с апострофами и прочим, а может и не в этом дело... Направте в нужную сторону плиз. Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2013, 17:17 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
DmitrievAS Код: vbnet 1.
[Parts_search].[mail] - это что? Обращение к полю в источнике формы, в модуле которой выполняется код? Тогда почему не Me![mail]? Если же это просто обращение к полю таблицы Parts_search, то это не взлетит. Нужно так: Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2013, 17:40 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
DmitrievASКу знатоки. Полезная для меня веточка... Но у меня затык - хочу чтобы письмо отсылалось адресату, чей адрес внесен в таблицу, в зависимости от адресата, информация будет делиться нужным образом... Как заставить это работать пока не знаю, ниже приведена строка, которая видимо имеет ошибку синтаксиса, но не пойму какую, перепробовал разные варианты с апострофами и прочим, а может и не в этом дело... Направте в нужную сторону плиз. Код: vbnet 1.
а вот эта [Parts_search] - чё ? таблица чтоле ? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2013, 17:41 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
Уберите эти " " & и & " ". Они затуманивают код и ничего не делают. И посмотрите в отладчике, какое значение у Вас получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2013, 18:23 |
|
Отправка почты из кода VBA.
|
|||
---|---|---|---|
#18+
Владимир Саныч, если убрать все кавычки и прочее - оставить только Код: vbnet 1.
, то появляется сообщение, при отладке: "приложению МА не удается найти поле "|1", указанное в выражении". И да, [Parts_search] - это таблица, [mail] - соответственно поле с перечнем мэйл адресов, на данный момент для отладки процедуры в данной таблице всего одна запись с одним мэйл адресом. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2013, 10:49 |
|
|
start [/forum/topic.php?fid=45&msg=38489307&tid=1611789]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
44ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 162ms |
0 / 0 |