Я використовував вищезазначений код протягом значного часу і хочу подякувати всім попереднім учасникам за те, що вони поділилися своєю роботою / вдосконаленнями / пропозиціями. Однак останнім часом у мене виникли два неприємні та дратівливі проблеми, коли він використовується разом із Windows 10 (64 біт) та Outlook 2016 (64 біт):
Піктограма Outlook у системній панелі відображає накладку "cog" із повідомленням "Інша програма використовує Outlook. Щоб відключити програми та вийти з Outlook, натисніть значок Outlook та натисніть кнопку Вийти зараз".
Спроба відкрити Outlook із контекстного меню "Відкрити Outlook" (клацніть правою кнопкою миші значок Outlook у лотку) викликає появу діалогового вікна з повідомленням "Не знайдено активного об'єкта провідника". При натисканні на опцію "ОК" у відповідь запускається Outlook (хоча проблема 1 - накладання зубців) залишається.
Для вирішення вищезазначених питань я взявся знайти якийсь подібний код, який я міг би скласти, щоб відповідати бажаним цілям оригінального плаката (який відображає мої власні вимоги).
Код нижче пропонується "як є" для широкої вигоди інших SuperUsers, важливо відзначити, що в той час як я протестував код на двох системах W10 64 біт (обидві з встановленою 64-бітною системою Office), я все ще повинен вирішити RunTime випуск однієї системи. Інші функції бездоганно. Повні деталі можна переглянути тут, якщо потрібно: /programming/45533261/start-outlook-2016-64-bit-automatically-minimized-to-windows-10-64-bit-syste
Я буду тримати вас в оцінці будь-яких подій, оскільки тестування триває .......
** Швидке оновлення ** Тепер тестується на ноутбуці HP Elitebook 8440P - Windows 10 Pro 64 біт з Office 64 біт + те саме 12 Додаток Outlook - Функції бездоганно, відповідно до вимог, викладених у початковій публікації вище .....
** Подальше оновлення ** Тестовано на другому ноутбуці HP Elitebook 8440P - Windows 10 Pro 64 біт з Office 64 біт + те саме 12 Додаток Outlook - помилка RunTime знову випробувана :(
OPTION EXPLICIT
Dim WshShell
Dim OLObj
Set WshShell = WScript. CreateObject ( "Wscript.Shell" )
'Open Outlook: Note that inspite of the launch options, it will open the program in a normal window.
'The file location path is not necessary as Windows 10 correctly identifies Outlook's location.
WshShell.Run "OUTLOOK.EXE" , 3, false
'This will mimimise it to the system tray after a 10 second pause to allow for mail collection on Outlook launch.
WScript.Sleep (10000)
Set OLObj = GetObject("","Outlook.Application")
'Activates the window
OLObj.ActiveExplorer.Activate
'Sends the command to minimise
OLObj.ActiveExplorer.WindowState = 1
'Outlook does not immediately minimise to the system tray so that 'Send/Receive' can initiate mail collection.