Question Comment faire en sorte que les rappels du calendrier Outlook restent dans Windows 7


Je commence tout juste à utiliser Windows 7 et je veux savoir comment faire apparaître mes rappels Outlook et les montrer en évidence. Ils continuent à ouvrir discrètement, comme une autre fenêtre de la pile Outlook dans la barre des tâches. Par conséquent, je continue de les ignorer car ils apparaissent derrière tout le reste.

Comment les rendre moins faciles à ignorer?

(De toute évidence, on ne veut généralement pas d’applications désagréables qui se mettent au premier plan. Mais il ya quelques endroits où un tel comportement est souhaitable, et les rappels du calendrier Outlook en font partie.)


111
2018-03-01 21:14


origine


C'est tellement nécessaire. Si l'on tombe dans une concentration intense, il est très facile de rater un rappel et de le remarquer enfoui sous d'autres fenêtres seulement après que vous soyez en retard. C'est ridicule que ce ne soit pas possible avec un réglage simple. À quoi sert un rappel si vous ne l'obtenez pas rapidement?! - Mario


Réponses:


J'ai eu le même problème avec Outlook 2010. Suivez les étapes ci-dessous, cela fonctionne comme un charme. N'oubliez pas d'activer toutes les macros: Centre de gestion de la confidentialité> Paramètres de la macro.

  • Créez un certificat numérique pour plus tard: appuyez sur Démarrer et tapez 'certificat', sélectionnez 'Certificat numérique pour les projets VBA'
  • Entrez un nom pour votre certificat. Cliquez sur OK. Ouvrez Outlook et cliquez sur Alt + F11 à lancer l'éditeur VBA.
  • Dans l'arborescence de gauche, développez "Objets Microsoft Office Outlook" et double-cliquez sur "ThisOutlookSession".
  • Collez dans ce code:

    Private Declare PtrSafe Function FindWindowA Lib "user32" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    
    Private Declare PtrSafe Function SetWindowPos Lib "user32" ( _
    ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
    ByVal X As Long, ByVal Y As Long, ByVal cx As Long, _
    ByVal cy As Long, ByVal wFlags As Long) As Long
    
    Private Const SWP_NOSIZE = &H1
    Private Const SWP_NOMOVE = &H2
    Private Const FLAGS As Long = SWP_NOMOVE Or SWP_NOSIZE
    Private Const HWND_TOPMOST = -1
    
    Private Sub Application_Reminder(ByVal Item As Object)
    Dim ReminderWindowHWnd As Variant
    On Error Resume Next
    ReminderWindowHWnd = FindWindowA(vbNullString, "1 Reminder")
    SetWindowPos ReminderWindowHWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS
    
    End Sub
    
  • Signez la macro pour qu'elle s'exécute: Outils> Signature numérique ... et choisissez le certificat que vous avez créé précédemment

  • Fermez la fenêtre VBA
  • Activer toutes les macros dans Fichier> Options> Centre de gestion de la confidentialité> Paramètres du Centre de gestion de la confidentialité> Paramètres de la macro

57
2017-08-16 15:19



J'ai remarqué, parfois (normalement lorsque vous démarrez Outlook), le premier rappel ne restera pas au top. Une fois que vous cliquez sur Rejeter et fermez le rappel, tous les rappels suivants restent au premier plan. Je ne sais pas pourquoi. - Gullu
le On Error Resume Next s'applique uniquement à ce Sub et empêche simplement la macro entière de tomber en panne .. Ceci est juste l'utilisation VBA standard. - Jeff Martin
J'ai eu le même problème que Gullu a indiqué dans son premier commentaire. Pour contourner cela, je montre une boîte de message pour le premier rappel après le redémarrage de Outlook (ou de mon ordinateur). Private messageAlreadyShown As Boolean Private Sub Application_Reminder (élément ByVal en tant qu'objet) On Error Resume Next Si pas messageAlreadyShown Puis MsgBox "First Reminder", vbSystemModal, "" Fin si messageAlreadyShown = True ReminderWindow = FindWindowA (vbNullString, "1 Rappel") SetWindowPos ReminderWindow, HWND_TOPMOST, 0, 0, 0, 0, FLAGS End Sub - helios456
J'ai eu du mal à trouver l'outil pour créer un certificat auto-signé pour la macro. Je l'ai trouvé dans C: \ Program Files \ Microsoft Office \ OfficeXX, l'outil SELFCERT.EXE. - SSZero
J'ai changé le mien pour trouver "1 Rappel (s)" et ensuite ça a fonctionné. - Robert Brooker


AutoHotKey peut également être utilisé pour résoudre ce problème. Ce script mettra la fenêtre de rappel en haut sans voler le focus (testé avec Win10 / Outlook 2013)

TrayTip Script, Looking for Reminder window to put on top, , 16
SetTitleMatchMode  2 ; windows contains
loop {
  WinWait, Reminder(s), 
  WinSet, AlwaysOnTop, on, Reminder(s)
  WinRestore, Reminder(s)
  TrayTip Outlook Reminder, You have an outlook reminder open, , 16
  WinWaitClose, Reminder(s), ,30
}

Script AHK - EXE compilé


14
2018-02-02 12:58



+1 pour utiliser AHK. Je viens de tester cela dans win 7 / outlook 2016. Cela amène la vue au premier plan mais cela ne vole pas le focus si vous tapez. Exactement ce que je voulais! (Je viens de supprimer les conseils de plateau si :)) - Fawix
Notez qu'il existe un moyen très simple de démarrer le script avec Windows. Il suffit de le mettre dans le dossier C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup - Fawix
Les liens AHK Script et EXE compilés sont rompus. J'ai copié et collé le script ci-dessus dans mon script AutoHotKey.ahk et cela n'a pas fonctionné. - Mike Cole
Cela a fonctionné comme un charme pour moi. AHK était la première chose que j'ai essayée, mais pour une raison quelconque, je ne pouvais pas la détecter. Merci! - Grinn
voici le EXE compilé drive.google.com/file/d/0B_pJVd8U0PfcWkZWNmhEYncwQjA/view - user664174


La meilleure réponse que j'ai trouvée est ici: Comment faire pour que des rappels de rendez-vous Outlook apparaissent à nouveau devant d'autres fenêtres en utilisant un simple VBA.

Cela implique d'ajouter quelques lignes de code VBA simple à "ThisOutlookSession". Maintenant, une fenêtre apparaît à chaque fois. Beaucoup mieux

  • Créer un certificat numérique pour plus tard
  • Cliquez sur Démarrer et tapez «certificat», sélectionnez «Certificat numérique pour les projets VBA».
  • Entrez un nom pour votre certificat
  • Terminé
  • Ouvrez Outlook et appuyez sur Alt + F11 pour lancer l'éditeur VBA.
  • Dans l'arborescence de gauche, développez "Objets Microsoft Office Outlook" et double-cliquez sur "ThisOutlookSession".
  • Collez ce code en modifiant le texte entre guillemets selon vos préférences. Laissez les guillemets dans.

    Private Sub Application_Reminder(ByVal Item As Object)
    
    
        If TypeOf Item Is AppointmentItem Then
        MsgBox "Message text", vbSystemModal, "Message title"
        End If
    
    
    End Sub
    
  • Signez la macro pour qu’elle s’exécute en allant dans Outils> Signature numérique ... et en choisissant le certificat que vous avez créé précédemment

  • Fermez la fenêtre VBA

13
2018-03-13 23:10



Essayé cela dans Outlook 2010, Windows 7 mais cela n'a pas fonctionné :( - tekumara
Utilisé cela dans le cadre de la solution de Gullu. Merci beaucoup. - Smandoli
Cela a fonctionné sur Outlook 2007, contrairement à Gullu. - Will Sheppard


Il n'y a pas moyen. Notre société a tenté de l'acheminer directement à Microsoft. Une chose que les gens font ici est de lui attribuer un son plus odieux, pour aider à le remarquer. Mais Microsoft nous a dit que c'était par conception.


6
2018-03-01 21:34



Je travaille dans une ferme de cubes - j'essaie de garder mon ordinateur silencieux pour les autres. :(: - thursdaysgeek
S'ils étaient vraiment en train de concevoir, ils le feraient par défaut, mais permettraient de le modifier. Ils "conçoivent", nous apprenons à le supporter? - thursdaysgeek
Voir ma réponse Nous avons enfin une solution. - Gullu
J'ai trouvé une solution tierce. Outils réels Garde de fenêtre réelle 30 $ (qui sont également inclus dans leur produit global) Gestionnaire Windows réel 50 $) permet d'affecter des fenêtres toujours au top. De plus, il est facile d'activer et de désactiver la fonctionnalité. (notez que cela fait plus que cela pour aider à rendre le prix plus facile à accepter). Je les ai trouvés lorsque vous avez essayé des utilitaires de bureau virtuel et multi-écrans. J'utilise ce dernier depuis quelques mois maintenant et j'en suis très heureux. - Javaru
Je suppose que la solution consiste à utiliser un meilleur outil! C'est pas un choix pour moi :( - Jonathan Benn


Identique à la réponse de Gullu ci-dessus, mais avec des modifications pour tenir compte du titre de la fenêtre:

Private Declare PtrSafe Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare PtrSafe Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const FLAGS As Long = SWP_NOMOVE Or SWP_NOSIZE
Private Const HWND_TOPMOST = -1

'// TO ACCOUNT FOR WINDOW TITLE CHANGING WITH NOTIFICATION COUNT:
Private Sub Application_Reminder(ByVal Item As Object)
    Dim ReminderWindowHWnd As Variant
    'On Error Resume Next
    On Error GoTo err
    'Loop 25 times as FindWindowA needs exact title which varies according to number of reminder items...
    Dim iReminderCount As Integer
    For iReminderCount = 1 To 25
        'Try two syntaxes...
        ReminderWindowHWnd = FindWindowA(vbNullString, iReminderCount & " Reminder"): SetWindowPos ReminderWindowHWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS
        ReminderWindowHWnd = FindWindowA(vbNullString, iReminderCount & " Reminder(s)"): SetWindowPos ReminderWindowHWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS
    Next
Exit Sub
err:
    Debug.Print err.Number & " - " & err.Description & " (iReminderCount = " & iReminderCount & ")"
    Resume Next
End Sub

6
2018-02-03 19:29



Encore mieux serait quelque chose comme Dim olApp As Outlook.Application Set olApp = New Outlook.Application iReminderCount = olApp.Reminders.Count Ensuite, vous pouvez supprimer la boucle. - Zusukar
@ Zusukar Reminders.Count renvoie le nombre total de rappels définis dans les rendez-vous, pas dans la boîte de dialogue de rappel active. Dans mon système, cela renvoie 22, par exemple. - Geoff
@Zusukar Vous pouvez idéalement utiliser la propriété Reminder.IsVisible pour compter les visibles, mais ceci est toujours faux - probablement que l'événement se produit avant que le rappel soit marqué comme visible. - Geoff


Depuis la version 1803 (février 2018), l'option "Afficher les rappels par-dessus les autres fenêtres" est maintenant disponible. Il ne semble pas être activé par défaut.

enter image description here


4
2018-06-01 16:58



Je n'ai pas encore la version mise à jour, mais c'est génial! Et ça ne fait que 7 ans que j'ai demandé, aussi. (Et c'est un désavantage pour MS, ainsi qu'un merci à vous.) - thursdaysgeek
Ceci est une excellente mise à jour d'une ancienne question. Notez que ce n'est pas tout à fait la même chose que "toujours visible", mais cela garantit que la fenêtre apparaît en haut de l'ordre des z afin que les utilisateurs soient moins susceptibles de la manquer. - Marc LaFleur


Cela m'énervait aussi. Après quelques recherches intenses, j'ai trouvé une réponse partielle: http://www.pcreview.co.uk/forums/hidden-outlook-reminders-t3972914.html

Si vous modifiez les "boutons de la barre des tâches"   paramètre sous la "barre des tâches et démarrer   Propriétés du menu "à" Ne jamais combiner "   alors le groupement se sépare et le   rappel surgit devant quoi que ce soit   sinon vous avez ouvert.

J'ai essayé de le tester et j'ai trouvé que c'était incohérent. une fois, il est resté caché derrière ce que je travaillais, et une autre fois, il est apparu devant. Dans les deux cas, il y avait une icône dans la barre des tâches qui ressemblait à Outlook lui-même, il y avait donc au moins une chance que je le remarque.


3
2018-05-10 17:21



Outlook 2013 ne pouvait pas se comporter correctement, même avec l'option Ne jamais combiner. Outlook 2013, Windows 7 32 bits. - Sun
Ce n'est pas une bonne solution pour moi, car je préfère que les applications se combinent dans la barre des tâches - Jonathan Benn


j'ai utilisé Filebox eXtender et lorsque le premier rappel arrive, je l'ouvre et cliquez sur la nouvelle icône «épingle» en haut à droite de la barre de légende. Ensuite, quand le prochain rappel arrive, il vient au premier plan ...


3
2017-12-21 00:26



PinMe! fera de même. C'est un outil portable gratuit qui effectue cette tâche extrêmement bien. Je l'ai testé Outlook 2013 et cela fonctionne exactement comme je le veux. Avant-plan Outlook ou minimisé, le rappel du calendrier apparaît toujours au premier plan. - Sun
@ Sun va donner PinMe! un coup de feu - Chris Marisic
@Sun je met en place une "super pin" dans la fenêtre de notification qui devrait être toujours visible, peu importe ce que je dise. Fonctionne comme annoncé hors de la boîte, et il délivre des notifications successives. impressionnant. - Chris Marisic
J'ai essayé PinMe et ne peux pas obtenir la fenêtre pour rester au top, du tout !! ?? - tbone