Per raggiungere tale scopo è possibile utilizzare VBA:
- Avviare Outlook;
- Dal menu File->Opzioni selezionare Personalizzazione barra multifunzione;
- Nell'elenco Schede principali (sulla destra) aggiungere il segno di spunta alla voce Sviluppo e cliccare su OK;

FIG 1 - Outlook, Personalizza barra multifunzione - Avviare Microsoft Visual Basic, Application Edition tramite la combinazione di tasti ALT+F11;
- Nella visualizzazione ad albero del progetto, sul lato sinistro della finestra, selezionare ThisOutlookSession;

FIG 2 - Outlook, Microsoft Visual Basic Application Edition - Copiare e incollare il seguente script;
Private Sub Application_Startup() Dim olExp As Outlook.Explorer Dim objInbox As Folder Dim objCalendar As Folder Dim objContacts As Folder Dim objTasks As Folder Set objInbox = Application.ActiveExplorer.CurrentFolder Set objCalendar = Session.GetDefaultFolder(olFolderCalendar) Set objContacts = Session.GetDefaultFolder(olFolderContacts) Set objTasks = Session.GetDefaultFolder(olFolderTasks) 'Apre la cartella Contatti in una finestra di Outlook ridotta ad icona (olMinimized) objContacts.Display Set olExp = Application.ActiveExplorer With olExp .WindowState = olMinimized End With 'Apre la cartella Attività in una finestra di Outlook ridotta ad icona (olMinimized) objTasks.Display Set olExp = Application.ActiveExplorer With olExp .WindowState = olMinimized End With 'Apre la cartella Calendario in una finestra normale di Outlook (olNormalWindow) objCalendar.Display Set olExp = Application.ActiveExplorer With olExp .WindowState = olNormalWindow End With 'Apre la cartella Posta in arrivo in una finestra massimizzata di Outlook (olMaximized) objInbox.Display Set Application.ActiveExplorer.CurrentFolder = objInbox Set olExp = Application.ActiveExplorer olExp.WindowState = olMaximized End Sub - Attraverso la proprietà WindowState di Outlook.Explorer è possibile indicare se aprire la cartella in una finestra normale (olNormalWindow), ridotta (olMinimized) o ingrandita (olMaximized). Salvare lo script cliccando sull'apposita icona e ritornare alla finestra di Outlook;
- Dalla scheda Sviluppo cliccare su Sicurezza macro;

FIG 3 - Outlook, Sicurezza macro - Dalla finestra Centro protezione, nella sezione Impostazioni macro, selezionare Visualizza notifiche per tutte le macro. In questo modo all'avvio di Outlook verrà richiesto se eseguire la macro.

FIG 4 - Outlook, Visualizza notifiche per tutte le macro
Ad. es volendo aprire la finestra con il Calendario di Outlook, spostarla in altro a sinistra dello schermo e impostare la dimensione 800x1000 lo script è il seguente:
Private Sub Application_Startup()
Dim olExp As Outlook.Explorer
Dim objInbox As Folder
Dim objCalendar As Folder
Dim objContacts As Folder
Dim objTasks As Folder
Set objInbox = Application.ActiveExplorer.CurrentFolder
Set objCalendar = Session.GetDefaultFolder(olFolderCalendar)
Set objContacts = Session.GetDefaultFolder(olFolderContacts)
Set objTasks = Session.GetDefaultFolder(olFolderTasks)
'Apre la cartella Contatti in una finestra di Outlook ridotta ad icona (olMinimized)
objContacts.Display
Set olExp = Application.ActiveExplorer
With olExp
.WindowState = olMinimized
End With
'Apre la cartella Attività in una finestra di Outlook ridotta ad icona (olMinimized)
objTasks.Display
Set olExp = Application.ActiveExplorer
With olExp
.WindowState = olMinimized
End With
'Apre la cartella Calendario in una finestra normale di Outlook (olNormalWindow)
objCalendar.Display
Set olExp = Application.ActiveExplorer
With olExp
.WindowState = olNormalWindow
.Top = 0
.Left = 0
.Height = 800
.Width = 1000
End With
'Apre la cartella Posta in arrivo in una finestra massimizzata di Outlook (olMaximized)
objInbox.Display
Set Application.ActiveExplorer.CurrentFolder = objInbox
Set olExp = Application.ActiveExplorer
olExp.WindowState = olMaximized
End Sub
Se si vogliono aprire più finestre di Outlook in modo che siano sfalsate tra loro come mostrato in FIG 5, il codice da copiare è il seguente:
Private Sub Application_Startup()
Dim objInbox As Folder
Dim objCalendar As Folder
Dim objContacts As Folder
Dim objTasks As Folder
Set objInbox = Application.ActiveExplorer.CurrentFolder
Set objCalendar = Session.GetDefaultFolder(olFolderCalendar)
Set objContacts = Session.GetDefaultFolder(olFolderContacts)
Set objTasks = Session.GetDefaultFolder(olFolderTasks)
objCalendar.Display
objContacts.Display
objTasks.Display
Dim olExps As Outlook.Explorers
Set olExps = Application.Explorers
Dim oTop As Long, oLeft As Long
oTop = 100
oLeft = 200
For x = 1 To olExps.Count
With olExps.Item(x)
.WindowState = olNormalWindow
.Top = oTop
.Left = oLeft
.Height = 800
.Width = 1000
End With
oTop = oTop + 50
oLeft = oLeft + 50
Next x
Set Application.ActiveExplorer.CurrentFolder = objInbox
End Sub
![]() |
| FIG 5 - Outlook, Finestre sfalsate |

Nessun commento:
Posta un commento
I messaggi sono soggetti a moderazione da parte dell'amministratore prima della loro pubblicazione.