Tôi đã sử dụng mã trên trong một thời gian đáng kể và xin cảm ơn tất cả những người đóng góp trước đây đã chia sẻ công việc / cải tiến / đề xuất của họ. Tuy nhiên, gần đây, tôi đã gặp phải hai sự cố không mong muốn và gây khó chịu khi được sử dụng cùng với Windows 10 (64 Bit) và Outlook 2016 (64 Bit), đó là:
Biểu tượng Outlook trong Khay hệ thống hiển thị lớp phủ 'cog' với thông báo "Một chương trình khác đang sử dụng Outlook. Để ngắt kết nối chương trình và thoát Outlook, hãy nhấp vào biểu tượng Outlook và sau đó nhấp vào Thoát ngay".
Nỗ lực mở Outlook từ menu ngữ cảnh 'Mở Outlook' (nhấp chuột phải vào biểu tượng Outlook trong khay) khiến hộp thoại xuất hiện báo cáo "Không tìm thấy đối tượng thám hiểm hoạt động". Nhấp vào tùy chọn "OK" trong phản hồi sẽ khởi chạy Outlook (mặc dù vấn đề 1 - lớp phủ cog) vẫn còn.
Để giải quyết các vấn đề ở trên, tôi đặt ra việc tìm một số mã tương tự mà tôi có thể biên dịch để đáp ứng các mục tiêu mong muốn của áp phích gốc (phản ánh các yêu cầu của riêng tôi).
Mã bên dưới được cung cấp "nguyên trạng" vì lợi ích rộng hơn của các SuperUser khác, điều quan trọng cần lưu ý là trong khi tôi đã kiểm tra mã trên hai hệ thống W10 64 Bit (cả hai đã cài đặt Văn phòng 64 bit), tôi vẫn giải quyết RunTime vấn đề trên một hệ thống. Các chức năng khác hoàn hảo. Chi tiết đầy đủ có thể được xem tại đây nếu cần: https://stackoverflow.com/questions/45533261/start-outlook-2016-64-bit-automatically-minimised-to-windows-10-64-bit-syste
Tôi sẽ giữ cho bạn thẩm định về bất kỳ sự phát triển nào khi thử nghiệm tiếp tục .......
** Cập nhật nhanh ** Hiện đã được thử nghiệm trên Máy tính xách tay HP Elitebook 8440P - Windows 10 Pro 64 Bit với Office 64 Bit + cùng 12 Bổ trợ Outlook - Chức năng hoàn hảo theo yêu cầu được nêu trong bài đăng gốc ở trên .....
** Cập nhật thêm ** Đã thử nghiệm trên Máy tính xách tay HP Elitebook 8440P thứ hai - Windows 10 Pro 64 Bit với Office 64 Bit + cùng 12 Bổ trợ Outlook - Đã xảy ra lỗi 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.