Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 01.10.2017, 16:19   #11
Margenal
Пользователь
 
Регистрация: 20.08.2017
Сообщений: 13
Репутация: 10
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Call встреча. Без ()
Правильно ли я понимаю что Call нужно писать вместо sub?

но в таком случае при запуске макроса, отсутствует выбор имени самого макроса

можете на примере показать как правильно написать.

Последний раз редактировалось Margenal; 01.10.2017 в 16:46.
Margenal вне форума   Ответить с цитированием
Старый 01.10.2017, 18:39   #12
Aleksandr H.
2 the Nation Glory
Профессионал
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Адрес: Wild West Ukraine
Сообщений: 2,029
Репутация: 741

skype: aleksandr.gryb
По умолчанию

Цитата:
Сообщение от Margenal Посмотреть сообщение
Правильно ли я понимаю что Call нужно писать вместо sub?
нет. Надо писать
Код:

Call встреча

вместо
Код:

Call встреча()

Module2
Код:

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

ModuleCurrent
Код:

Private Sub Application_Reminder(ByVal Item As Object) 'Событие "Напоминание"
    Dim apti As AppointmentItem 'Присваивание переменной события
    Dim subj As String 'Объявление переменной "тема"
    If TypeName(Item) <> "AppointmentItem" Then Exit Sub 'Проверка типа события
    
        Set apti = Item
        call Встреча
        subj = "Пора посмотреть почту"
        If apti.subject = subj Then 'Проверка темы события
        apti.Application.Reminders.Remove subj 'Удаление события
        With apti 'Создание нового события
            .Start = DateAdd("n", 2, Now)
            .End = DateAdd("n", 2, .Start)
            .ReminderSet = True
            .ReminderMinutesBeforeStart = 0
            .Save
        End With
    End If
    Set apti = Nothing
End Sub
 
sub Встреча()
  Dim conn As ADODB.Connection
  Set conn = CreateObject("ADODB.Connection")
  dim acc as string 'ID почтовой сессии

    For i = 1 To Outlook.Session.Accounts.Count 'Поиск нужной почты
        If Outlook.Session.Accounts(i).CurrentUser.Address = "адрес проверяемой почты" Then
            acc = i
            Exit For
        End If
    Next
Set myFolder = Outlook.session.Accounts.Item(acc).DeliveryStore.GetDefaultFolder(olFolderInbox) 'Задаем проверяемую папку "входящие" необходимой сессии
Set mymyItem = myFolder.Items.GetLast 'Присваиваем письмо переменной
Set ObjFolder = Application.session.Accounts.Item(acc).GetDefaultFolder(olFolderInbox).Folders("Название папки, куда скидывать прочитанные письма")
Sleep (100) 'Заставляем макрос отдохнуть секунду, пока письмо прогрузится
    If TypeName(mymyItem) = "MailItem" and mymyItem.UnRead = True Then
        If mymyItem.Body <> "" Then
            With conn
                .Provider = "Microsoft.Jet.OLEDB.4.0"
                .ConnectionTimeout = 10
                .ConnectionString = "Data Source='Путь к базе\База встреч\Mail_bd.mdb'"
                .CommandTimeout = 60
            End With
            conn.Open ()
               conn.Execute "INSERT INTO ImportOutlook (DateReceipt, Mail_by, Mail_Addressee, Mail_cc, Mail_subject, Mail_body, Mail_file) VALUES ('" & mymyItem.CreationTime & "', '" & mymyItem.Mail_by & "' , '" & mymyItem.Mail_Addressee & "', '" & mymyItem.Mail_cc & "', '" & mymyItem.Mail_subject & "', '" & mymyItem.Mail_body & "', '" & mymyItem.Mail_file.Count & "', '" & mymyItem.Mail_file & "')" 
            conn.Close ()
 
                                If mymyItem.Mail_file.Count > 0 Then
                For Each att In mymyItem.Mail_file
                    With att
                        .SaveAsFile "Путь к папке\Вложения" & .DisplayName 'Путь, куда сохранять вложения. Для каждого письма должна быть своя папка.
                    End With
                Next
            End If
            mymyItem.UnRead = False 'Отмечаем письмо прочтенным
            mymyItem.Move (ObjFolder) 'Перемещаем письмо в папку на почте
        End If
    End If
 
End Sub

__________________
Mailto: media.project@ukr.net
"спасибо" принимаются на webmoney: R676842461689, Z243088649038, U164738001305; AdvancedCash: U853633661253, E181662999107; ПриватБанк.UA
Aleksandr H. вне форума   Ответить с цитированием
Старый 01.10.2017, 19:02   #13
Margenal
Пользователь
 
Регистрация: 20.08.2017
Сообщений: 13
Репутация: 10
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
ModuleCurrent
Сделал как указано но теперь при запуске макроса выскакивает ошибка:

Run-time error '438':Object doesn't support this property or method.

И еще вопрос в References нужно ли подключать библиотеки?

Сейчас у меня дополнительно подключена библиотека:

Microsoft Activex Data Objects 2.8 Library

Последний раз редактировалось Margenal; 01.10.2017 в 19:04.
Margenal вне форума   Ответить с цитированием
Старый 01.10.2017, 19:27   #14
Aleksandr H.
2 the Nation Glory
Профессионал
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Адрес: Wild West Ukraine
Сообщений: 2,029
Репутация: 741

skype: aleksandr.gryb
По умолчанию

Раз работаете с аксесом то референс аксеса очень рекомендую ��
__________________
Mailto: media.project@ukr.net
"спасибо" принимаются на webmoney: R676842461689, Z243088649038, U164738001305; AdvancedCash: U853633661253, E181662999107; ПриватБанк.UA
Aleksandr H. вне форума   Ответить с цитированием
Старый 01.10.2017, 19:36   #15
Margenal
Пользователь
 
Регистрация: 20.08.2017
Сообщений: 13
Репутация: 10
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Раз работаете с аксесом то референс аксеса очень рекомендую ��
в данном случае это что за ссылка?
Margenal вне форума   Ответить с цитированием
Старый 02.10.2017, 12:49   #16
Margenal
Пользователь
 
Регистрация: 20.08.2017
Сообщений: 13
Репутация: 10
По умолчанию

Цитата:
Сообщение от Aleksandr H Посмотреть сообщение
Сделал как указано но теперь при запуске макроса выскакивает ошибка:

Run-time error '438':Object doesn't support this property or method.
Можете подсказать по поводу ошибки
Margenal вне форума   Ответить с цитированием
Старый 02.10.2017, 13:01   #17
Aleksandr H.
2 the Nation Glory
Профессионал
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Адрес: Wild West Ukraine
Сообщений: 2,029
Репутация: 741

skype: aleksandr.gryb
По умолчанию

Нет. Я не знаю где именно по коду она вываливается
__________________
Mailto: media.project@ukr.net
"спасибо" принимаются на webmoney: R676842461689, Z243088649038, U164738001305; AdvancedCash: U853633661253, E181662999107; ПриватБанк.UA
Aleksandr H. вне форума   Ответить с цитированием
Старый 02.10.2017, 16:02   #18
Margenal
Пользователь
 
Регистрация: 20.08.2017
Сообщений: 13
Репутация: 10
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Я не знаю где именно по коду она вываливается
От ошибки избавился путем удаления всего кода и заново его прописал как новый макрос.
но теперь появилась новая ошибка
Compile error: User-defined type not defined
при этом выделяет строку : conn As ADODB.Connection
Изображения
Тип файла: png 2017-10-02_14-54-59.png (3.3 Кб, 5 просмотров)
Margenal вне форума   Ответить с цитированием
Старый 02.10.2017, 17:30   #19
Aleksandr H.
2 the Nation Glory
Профессионал
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Адрес: Wild West Ukraine
Сообщений: 2,029
Репутация: 741

skype: aleksandr.gryb
По умолчанию

https://stackoverflow.com/questions/...es-not-defined
Код:

dim conn as object

Цитата:

I had forgotten to add a reference to "Microsoft ActiveX Data Objects 2.5 Library":

Tools > References > Check the checkbox in front of "Microsoft ActiveX Data Objects 2.5 Library"
__________________
Mailto: media.project@ukr.net
"спасибо" принимаются на webmoney: R676842461689, Z243088649038, U164738001305; AdvancedCash: U853633661253, E181662999107; ПриватБанк.UA
Aleksandr H. вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос в VBA, что бы Outlook периодически самостоятельно новые поступающие письма сохранял в БД Access Aleksey_25 Microsoft Office Access 5 24.09.2017 15:33
макрос для Outlook для переадресации писем Olya1985 Microsoft Office Excel 1 13.09.2011 16:50
Макрос для Outlook kotmotroskin Microsoft Office Excel 0 02.02.2011 14:16
VBA outlook обработка входящих сообщений Drek Помощь студентам 2 18.07.2010 04:19
Макрос для сохранения писем из Outlook. GoreProgrammist Microsoft Office Excel 1 16.11.2009 20:40




02:41.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru