Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Outlook VBA - обратиться к папке определённого аккаунта

Ответить
Настройки темы
VBA - Outlook VBA - обратиться к папке определённого аккаунта

Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: tetrisussr@vk
Дата: 19-10-2015
Описание: поправил скрипт
Добрый день.
В outlook настроено несколько учётных записей Exchange. В одной из учётки настроено правило, которое кладёт письма с определённой темой в папку Test в своих входящих. Теперь мне нужно работать с письмами с этой папки.
Данный скрипт работает, если настроена одна учётка. Но если их несколько - он смотрит, есть ли папка в первой, если нет - пишет "объект не найден" и останавлиается.
Подскажите, пожалуйста, как могу обратиться к папке определённого ящика?
Заранее спасибо.

Отправлено: 16:09, 14-10-2015

 

Аватара для opel431

Ветеран


Contributor


Сообщения: 1747
Благодарности: 680

Профиль | Отправить PM | Цитировать


Наверное, прежде чем сохранять и перемещать файлы в цикле For..., нужно предусмотреть соблюдение неких условий - наличия нужной папки (файлов) в учетной записи. Если есть, выполняем процедуры сохранения и перемещения файлов, если нет, переходим к следующей учетной записи.
К примеру, на http://stackoverflow.com/questions/2...-in-the-folder был представлен такой простой вариант проверки наличия папки (if folder exist) на VBA len(dir("C:\Users\user\Desktop\Tests\tt", vbDirectory))возвращает число, большее 0, если папка существует, независимо от того, имеются ли в папке файлы или нет

-------
Хвала тому, кто встав среди камней, уча другого, сам будет умней.


Последний раз редактировалось opel431, 15-10-2015 в 19:26.


Отправлено: 16:54, 15-10-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Это я и хочу сделать, но как обратиться к директории нужного аккаунта - вот в чём вопрос.

Данным способом можно посмотреть все аккаунты.
Этим же способом я могу посмотреть к папке какого акка я обращаюсь в предыдущем коде. Но указать, какая именно учётная запись мне нужна - пока не понял как.

PHP код: Выделить весь код

Sub Which_Account_Number()
'Don't forget to set a reference to Outlook in the VBA editor
    Dim OutApp 
As Outlook.Application
    Dim I 
As Long

    Set OutApp 
CreateObject("Outlook.Application")

    For 
1 To OutApp.Session.Accounts.Count
        MsgBox OutApp
.Session.Accounts.Item(I) & " : This is account number " I
    Next I
End Sub 

Также нашёл, как можно отправить письмо используя нужный аккаунт.


PHP код: Выделить весь код

Sub Mail_small_Text_Change_Account()
'Only working in Office 2007-2013
'
Don't forget to set a reference to Outlook in the VBA editor
    Dim OutApp As Outlook.Application
    Dim OutMail As Outlook.MailItem
    Dim strbody As String

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(olMailItem)

    strbody = "Hi there" & vbNewLine & vbNewLine & _
              "This is line 1" & vbNewLine & _
              "This is line 2" & vbNewLine & _
              "This is line 3" & vbNewLine & _
              "This is line 4"

    On Error Resume Next
    With OutMail
        .To = "ron@debruin.nl"
        .CC = ""
        .BCC = ""
        .Subject = "This is the Subject line"
        .Body = strbody

        '
SendUsingAccount is new in Office 2007
        
'Change Item(1)to the account number that you want to use
        .SendUsingAccount = OutApp.Session.Accounts.Item(1)

        .Send   '
or use .Display
    End With
    On Error GoTo 0

    Set OutMail 
Nothing
    Set OutApp 
Nothing
End Sub 


Последний раз редактировалось tetrisussr@vk, 16-10-2015 в 11:00. Причина: исправил тэг


Отправлено: 10:55, 16-10-2015 | #3


Аватара для opel431

Ветеран


Contributor


Сообщения: 1747
Благодарности: 680

Профиль | Отправить PM | Цитировать


Имея исходные коды, можно для начала получить справку по функциям и процедурам представленных в нем и получить представление о том, как он работает . Но, если не судьба, тогда, лучше обратится к исходному материалу по программированию в Outlook - http://www.askit.ru/custom/vba_offic...vba_basics.htm

-------
Хвала тому, кто встав среди камней, уча другого, сам будет умней.


Отправлено: 16:09, 16-10-2015 | #4


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Что значит не судьба? Вы читали мои вопросы и комментарии или не судьба? К чему такой тон.
Я отлично понимаю что написано в каждой строчке этого кода. Хотите - вам напишу такой же, с блэкджеком.
Но как просмотреть папку определённого аккаунта - так и не нашёл.
У класса Application есть потомки:
Application -> Session -> Accounts -> Item - здесь можно посмотреть текущий аккаунт. Но как именно указать его - пока не доехал.
Но спасибо за отличный мануал.

Отправлено: 16:16, 16-10-2015 | #5


Аватара для opel431

Ветеран


Contributor


Сообщения: 1747
Благодарности: 680

Профиль | Отправить PM | Цитировать


Цитата tetrisussr@vk:
Но спасибо за отличный мануал. »
Это и значит, что если не судьба самому найти ответ, воспользуйтесь помощью друзей! А некий "тон" появляется там, где его хотят увидать.
Видишь суслика? Нет. А он есть!

-------
Хвала тому, кто встав среди камней, уча другого, сам будет умней.


Последний раз редактировалось opel431, 16-10-2015 в 18:02.


Отправлено: 17:56, 16-10-2015 | #6


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Цитата opel431:
Это и значит, что если не судьба самому найти ответ, воспользуйтесь помощью друзей! А некий "тон" появляется там, где его хотят увидать. »
Табличку сарказм дома забыл, извините.

Просто прочтите ещё раз ветку, пожалуйста. Я написал про конкретную проблему, описал свои шаги, что уже пытался сделать. Вы почему-то решили, что я вставил код с интернета и спросил вас "а где тут то, что мне нужно?".

Пока помогает только в настройках аутлука указать нужную учётную запись как по умолчанию. Если у кого-нибудь есть мысли по поводу того, как работать с конкретной учёткой через VBA (не отправлять письма, а именно смортреть иерархию) - был бы очень благодарен если поделитесь. Если пошлёте на technet - пусть будет так

Отправлено: 14:56, 17-10-2015 | #7


Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


opel431, спасибо за ссылку - по запросу гуглу "vba outlook несколько учетных записей" нашлась эта тема и ваша ссылка.
+ F1 в MS Office и всё получилось!

tetrisussr@vk, дойдите до пункта 13.4 по предложенной Вам ссылке на мануал

GetSharedDefaultFolder() — этот метод делает то же, что и GetDefaultFolder(), но применяется тогда, когда у пользователя в Outlook открыты, кроме своего, еще и почтовые ящики других пользователей, и получить ссылку, например, на папку Inbox в определенном почтовом ящике.

Отправлено: 11:54, 30-12-2015 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Outlook VBA - обратиться к папке определённого аккаунта

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBA - [решено] Как сделать напоминание для получателей в письме Outlook (VBA) blinkX Программирование и базы данных 1 11-06-2013 19:37
2007 - Outlook 2007. Нет доступа к папке rip88 Microsoft Office (Word, Excel, Outlook и т.д.) 2 18-09-2012 10:39
2007 - Outlook 2007 не сохраняет отправленные в нужной папке IMAP billybons2006 Microsoft Office (Word, Excel, Outlook и т.д.) 4 22-06-2010 17:49
Разное - Outlook express 2 аккаунта. Glebush Microsoft Windows 2000/XP 2 18-11-2009 10:38
Импорт аккаунта и писем из Outlook Express в TheBat RealLamer Хочу все знать 3 10-02-2004 18:36




 
Переход