Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

Як автоматично відкрити кілька вікон Outlook, коли Outlook запускається? 

Під час запуску облікового запису Outlook вікно пошти відкривається як зазвичай. Чи можна автоматично відкривати інші вікна Outlook, такі як вікна Пошта, Календар, Контакти та Завдання, одночасно під час запуску Outlook?

Автоматично відкривати кілька вікон Outlook, коли Outlook запускається з кодом VBA


Автоматично відкривати кілька вікон Outlook, коли Outlook запускається з кодом VBA

Тут я можу ввести код VBA, який допоможе вам відкрити декілька вікон Outlook, таких як вікна пошти, календаря, контактів та завдань відразу під час запуску Outlook. Будь ласка, зробіть так:

1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.

2, в Microsoft Visual Basic для додатків вікно, двічі клацніть ThisOutlookSession від Проект1 (VbaProject.OTM) панелі, щоб відкрити модуль, а потім скопіюйте та вставте наступний код у порожній модуль.

Код VBA: Автоматично відкривати кілька вікон Outlook під час запуску Outlook:

Private Sub Application_Startup()
Dim xCalendar As Folder
Dim xTasks As Folder
Dim xContacts As Folder
Dim xInbox As Folder
Dim xExplorer As Outlook.Explorer
Dim xWidth, xHeight As Integer
On Error Resume Next
xWidth = Int(GetSystemMetrics32(0) / 4) + 60
xHeight = GetSystemMetrics32(1)
Set xInbox = Outlook.Application.ActiveExplorer.CurrentFolder
xInbox.Display
Set Application.ActiveExplorer.CurrentFolder = xInbox
Set xExplorer = Application.ActiveExplorer
With xExplorer
    .WindowState = olNormalWindow
    .Top = 0
    .Left = 0
    .Height = xHeight
    .Width = xWidth
End With
Set xCalendar = Outlook.Session.GetDefaultFolder(olFolderCalendar)
xCalendar.Display
Set xExplorer = Application.ActiveExplorer
With xExplorer
    .WindowState = olNormalWindow
    .Top = 0
   .Left = xWidth
    .Height = xHeight
    .Width = xWidth
End With
Set xContacts = Outlook.Session.GetDefaultFolder(olFolderContacts)
xContacts.Display
Set xExplorer = Application.ActiveExplorer
With xExplorer
    .WindowState = olNormalWindow
    .Top = 0
    .Left = xWidth * 2
    .Height = xHeight
    .Width = xWidth
End With
Set xTasks = Outlook.Session.GetDefaultFolder(olFolderTasks)
xTasks.Display
Set xExplorer = Application.ActiveExplorer
With xExplorer
    .WindowState = olNormalWindow
    .Top = 0
    .Left = xWidth * 3
    .Height = xHeight
    .Width = xWidth
End With
End Sub

doc відкрити кілька вікон запуску 1

3. Потім продовжуйте клацати Insert > Модулі, скопіюйте та вставте код нижче у відкритий порожній модуль, див. знімок екрана:

Declare Function GetSystemMetrics32 Lib "user32" Alias "GetSystemMetrics" (ByVal xIndex As Long) As Long

doc відкрити кілька вікон запуску 2

4. Потім збережіть і закрийте коди, перезапустіть Outlook, щоб надати кодам ефект. Тепер при відкритті Outlook вікна пошти, календаря, контактів і завдань будуть автоматично відкриватися поруч, див. Знімок екрана:

doc відкрити кілька вікон запуску 3


Kutools для Outlook - приносить 100 розширених функцій для Outlook і значно полегшує роботу!

  • Авто CC / BCC за правилами при відправці електронної пошти; Автоматичне пересилання вперед Кілька електронних листів на замовлення; Автовідповідь без сервера обміну та більше автоматичних функцій ...
  • Попередження BCC - показати повідомлення при спробі відповісти всім якщо ваша поштова адреса є у списку BCC; Нагадати про відсутність вкладеньта інші функції нагадування ...
  • Відповісти (Усі) з усіма вкладеннями в поштовій розмові; Відповісти на багато електронних листів за секунди; Автоматично додавати привітання при відповіді; Додати дату в тему ...
  • Інструменти вкладення: Керування всіма вкладеннями у всіх листах, Автоматичне від'єднання, Стиснути все, Перейменувати все, Зберегти все ... Швидкий звіт, Підрахувати вибрані листи...
  • Потужні небажані електронні листи за звичаєм; Видаліть повторювані листи та контакти... Дозвольте вам робити розумніші, швидші та кращі в Outlook.
постріл kutools outlook kutools вкладка 1180x121
постріл kutools outlook kutools плюс вкладка 1180x121
 
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    jacobo.eluani@gmail.com · 2 years ago
    Hola me sale este error, que hago?
    • To post as a guest, your comment is unpublished.
      jacobo.eluani@gmail.com · 2 years ago
      El codigo de este proyecto se debe actualizar para usarse en sistemas de 64 bits. Revise y actualice las instrucciones Declare y, a continuación, márquelas con el atributo PtrSafe
      • To post as a guest, your comment is unpublished.
        jacobo.eluani@gmail.com · 2 years ago
        ya pude solucionar el tema de PtrSafe, ahora me marca que no se ha definido Sub o Function; señalando en amarillo Private Sub Application_Startup() y señalando en azul GetSystemMetrics32, ahora si no me deja correr la macro, que hago?
        • To post as a guest, your comment is unpublished.
          jacobo.eluani@gmail.com · 2 years ago
          Ya pude resolver el tema de arriba, ahora solo quiero las ventanas de inbox y task se abran de la siguinete manera (eliminando del codigo las ventanas calendario y contactos).


          Task en mi pantalla secundaria (me gustaría saber como definir la posición de la pantalla que lo quiero y los pixeles) y el inbox en pantalla completa en mi monitor principal, me pueden ayudar?

          Saludos!
  • To post as a guest, your comment is unpublished.
    Chris · 3 years ago
    Is there a way to make this open the windows in separate screens? I have 3 screens at my work, and I want to have my inbox open on screen 3, calendar to open on screen 2, and the tasks to open on screen 1, all maximised. Not fussed about the contacts page. Any advice on how to alter that would be appreciated. Currently they all open on the one screen, inbox maximised and calendar/tasks in smaller windows.
    • To post as a guest, your comment is unpublished.
      skyyang · 3 years ago
      Hello, Chris,
      May be the following VBA code can help you to solve your problem. Please try it.

      Private Declare PtrSafe Function GetSystemMetrics32 Lib "User32" Alias "GetSystemMetrics" (ByVal xIndex As Long) As Long
      Private Sub Application_Startup()
      Dim xCalendar As Folder
      Dim xTasks As Folder
      Dim xContacts As Folder
      Dim xInbox As Folder
      Dim xExplorer As Outlook.Explorer
      Dim xWidth As Integer, xHeight As Integer
      On Error Resume Next
      xWidth = GetSystemMetrics32(0)
      xHeight = GetSystemMetrics32(1)
      Set xInbox = Outlook.Application.Session.GetDefaultFolder(olFolderInbox)
      Set Outlook.Application.ActiveExplorer.CurrentFolder = xInbox
      Set xExplorer = Application.ActiveExplorer
      ExplorerDisplay xExplorer, 0
      Set xCalendar = Outlook.Session.GetDefaultFolder(olFolderCalendar)
      xCalendar.Display
      Set xExplorer = Application.ActiveExplorer
      ExplorerDisplay xExplorer, xWidth
      Set xTasks = Outlook.Session.GetDefaultFolder(olFolderTasks)
      xTasks.Display
      Set xExplorer = Application.ActiveExplorer
      ExplorerDisplay xExplorer, (xExplorer.Width + 1) * -1
      End Sub

      Sub ExplorerDisplay(Exp As Explorer, ByVal L As Integer)
      With Exp
      .WindowState = olNormalWindow
      .Top = 0
      .Left = L
      .WindowState = olMaximized
      End With
      End Sub