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

Вход

Регистрация

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

 

= Мир MS Excel/Запуск Outlook через Excel. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запуск Outlook через Excel. (Макросы/Sub)
Запуск Outlook через Excel.
VIDEO56 Дата: Четверг, 10.03.2016, 15:32 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
Всем добрый день.
Прошу подсказать код макроса (если конечно это возможно), чтобы из Excel запускать Outlook если он не запущен!


Всем удачного дня!
 
Ответить
СообщениеВсем добрый день.
Прошу подсказать код макроса (если конечно это возможно), чтобы из Excel запускать Outlook если он не запущен!

Автор - VIDEO56
Дата добавления - 10.03.2016 в 15:32
китин Дата: Четверг, 10.03.2016, 15:50 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Максим ПОИСК рулит? может это?
а это по запросу
Цитата
из Excel запускать Outlook
много !!!


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852


Сообщение отредактировал китин - Четверг, 10.03.2016, 15:53
 
Ответить
СообщениеМаксим ПОИСК рулит? может это?
а это по запросу
Цитата
из Excel запускать Outlook
много !!!

Автор - китин
Дата добавления - 10.03.2016 в 15:50
Апострофф Дата: Четверг, 10.03.2016, 15:52 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 123 ±
Замечаний: 0% ±

Excel 1997
GetObject function or the CreateObject function

https://msdn.microsoft.com/en-us/library/office/ff865816.aspx
 
Ответить
СообщениеGetObject function or the CreateObject function

https://msdn.microsoft.com/en-us/library/office/ff865816.aspx

Автор - Апострофф
Дата добавления - 10.03.2016 в 15:52
Gustav Дата: Четверг, 10.03.2016, 18:22 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Цитата Апострофф, 10.03.2016 в 15:52, в сообщении № 3
GetObject function or the CreateObject function

[offtop]Пользуясь удобным случаем, поделюсь давно терзающими меня смутными сомнениями, что при работающем Outlook (ранее запущенном) и CreateObject, и GetObject создают ссылку на этот ранее запущенный объект. По крайней мере, у меня следующий нехитрый код, который вроде как должен создавать новый экземпляр и тут же гасить его, на самом деле гасит ранее запущенный работающий Outlook.
[vba]
Код
Sub test()
    Dim olApp
    'Set olApp = GetObject(, "Outlook.Application")
    Set olApp = CreateObject("Outlook.Application")
    MsgBox "Загляни в Диспетчер задач и посчитай экземпляры Outlook, пока не закрыл это сообщение"
    olApp.Quit
End Sub
[/vba]Не гасит только в том случае, если в Outlook в данный момент есть какой-то несохраненный материал, например, недописанное письмо. Возможно, существует какой-то параметр, который отвечает за "множественность", но мне такой параметр не известен...


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Цитата Апострофф, 10.03.2016 в 15:52, в сообщении № 3
GetObject function or the CreateObject function

[offtop]Пользуясь удобным случаем, поделюсь давно терзающими меня смутными сомнениями, что при работающем Outlook (ранее запущенном) и CreateObject, и GetObject создают ссылку на этот ранее запущенный объект. По крайней мере, у меня следующий нехитрый код, который вроде как должен создавать новый экземпляр и тут же гасить его, на самом деле гасит ранее запущенный работающий Outlook.
[vba]
Код
Sub test()
    Dim olApp
    'Set olApp = GetObject(, "Outlook.Application")
    Set olApp = CreateObject("Outlook.Application")
    MsgBox "Загляни в Диспетчер задач и посчитай экземпляры Outlook, пока не закрыл это сообщение"
    olApp.Quit
End Sub
[/vba]Не гасит только в том случае, если в Outlook в данный момент есть какой-то несохраненный материал, например, недописанное письмо. Возможно, существует какой-то параметр, который отвечает за "множественность", но мне такой параметр не известен...

Автор - Gustav
Дата добавления - 10.03.2016 в 18:22
VIDEO56 Дата: Пятница, 11.03.2016, 06:31 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
Игорь, поиск делал только по форуму по VBA/


Всем удачного дня!
 
Ответить
СообщениеИгорь, поиск делал только по форуму по VBA/

Автор - VIDEO56
Дата добавления - 11.03.2016 в 06:31
VIDEO56 Дата: Пятница, 11.03.2016, 06:39 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
Gustav, ваш код не запускает Outlook


Всем удачного дня!
 
Ответить
СообщениеGustav, ваш код не запускает Outlook

Автор - VIDEO56
Дата добавления - 11.03.2016 в 06:39
Саня Дата: Пятница, 11.03.2016, 09:49 | Сообщение № 7
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
терзающими меня смутными сомнениями


К сообщению приложен файл: 2695727.png (45.1 Kb)
 
Ответить
Сообщение
терзающими меня смутными сомнениями



Автор - Саня
Дата добавления - 11.03.2016 в 09:49
Gustav Дата: Пятница, 11.03.2016, 12:05 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
VIDEO56, с точки зрения процесса всё запускается. И пока не закрыто сообщение MsgBox, Outlook виден в списке процессов в Диспетчере задач. После нажатия на OK в MsgBox выполняется выход из Outlook при помощи оператора Quit и Outlook закрывается, так и не успев показаться пользователю.

Но даже если удалить оператор Quit, то время жизни Outlook все равно будет ограничено временем выполнения процедуры test. Ситуация меняется, если вынести описание переменной Outlook из процедуры на уровень модуля:
[vba]
Код
Option Explicit
Dim olApp
Sub test()
    Set olApp = CreateObject("Outlook.Application")
    MsgBox "Загляни в Диспетчер задач и посчитай экземпляры Outlook, пока не закрыл это сообщение"
End Sub
[/vba]
В этом случае Outlook остается в списке процессов по окончании процедуры, но пользователь по-прежнему его не видит на экране и работать с ним не может.

Чтобы Outlook "вышел из тумана" и оставался на экране, надо после создания объекта его как-то визуализировать, скажем, показать обзор какой-нибудь папки, например, "Входящие" ("Inbox"):
[vba]
Код
Sub showOutlook()
    Dim olApp
    Set olApp = CreateObject("Outlook.Application")
    olApp.Session.GetDefaultFolder(6).Display '6 = olFolderInbox
End Sub
[/vba]
Разумеется, если мы хотим дальше работать с запущенным таким способом Outlook, то оператор olApp.Quit в нашей процедуре не нужен.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеVIDEO56, с точки зрения процесса всё запускается. И пока не закрыто сообщение MsgBox, Outlook виден в списке процессов в Диспетчере задач. После нажатия на OK в MsgBox выполняется выход из Outlook при помощи оператора Quit и Outlook закрывается, так и не успев показаться пользователю.

Но даже если удалить оператор Quit, то время жизни Outlook все равно будет ограничено временем выполнения процедуры test. Ситуация меняется, если вынести описание переменной Outlook из процедуры на уровень модуля:
[vba]
Код
Option Explicit
Dim olApp
Sub test()
    Set olApp = CreateObject("Outlook.Application")
    MsgBox "Загляни в Диспетчер задач и посчитай экземпляры Outlook, пока не закрыл это сообщение"
End Sub
[/vba]
В этом случае Outlook остается в списке процессов по окончании процедуры, но пользователь по-прежнему его не видит на экране и работать с ним не может.

Чтобы Outlook "вышел из тумана" и оставался на экране, надо после создания объекта его как-то визуализировать, скажем, показать обзор какой-нибудь папки, например, "Входящие" ("Inbox"):
[vba]
Код
Sub showOutlook()
    Dim olApp
    Set olApp = CreateObject("Outlook.Application")
    olApp.Session.GetDefaultFolder(6).Display '6 = olFolderInbox
End Sub
[/vba]
Разумеется, если мы хотим дальше работать с запущенным таким способом Outlook, то оператор olApp.Quit в нашей процедуре не нужен.

Автор - Gustav
Дата добавления - 11.03.2016 в 12:05
Gustav Дата: Пятница, 11.03.2016, 12:09 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Саня, спасибо! Развеял сомнения! :)


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеСаня, спасибо! Развеял сомнения! :)

Автор - Gustav
Дата добавления - 11.03.2016 в 12:09
VIDEO56 Дата: Пятница, 11.03.2016, 14:49 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
Gustav, спасибо. Помогли в ликвидации дремучести.


Всем удачного дня!
 
Ответить
СообщениеGustav, спасибо. Помогли в ликвидации дремучести.

Автор - VIDEO56
Дата добавления - 11.03.2016 в 14:49
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запуск Outlook через Excel. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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