2011-03-01 21:14:47 +0000 2011-03-01 21:14:47 +0000
125
125

OutlookのカレンダーのリマインダーをWindows 7でトップに滞在させる方法

私はちょうどWindows 7を使用し始めていると私は私のOutlookのリマインダーがポップアップし、目立つように自分自身を表示する方法を知りたいと思います。リマインダーはタスクバー上のOutlookスタックの別ウィンドウとして、目立たないように開き続けます。その結果、彼らは他のすべてのものの後ろにポップアップするので、私はそれらを見落とし続けています。

どのように私はそれらを見落としやすいようにするにはどうすればいいですか?しかし、そのような動作が望ましい場所がいくつかあり、Outlookのカレンダーリマインダーはそのうちの1つです)。

回答 (11)

62
62
62
2012-08-16 15:19:38 +0000

私はOutlook 2010で同じ問題を抱えていました。以下に記載されている手順を使用して、それは魅力のように動作します。すべてのマクロを有効にすることを忘れないでください。Trust Center ➡ Macro Settings.

  • 後で使用するためのデジタル証明書を作成します。スタート」をクリックして「certificate」と入力し、「Digital Certificate for VBA Projects」を選択してください
  • 証明書の名前を入力してください。OKをクリックしてください。VBAエディタを起動するには、Outlookを開き、Alt + F11を押してください。
  • 左側のツリーでは、'Microsoft Office Outlook Objects'を展開し、'ThisOutlookSession'をダブルクリックしてください。Tools ™ Digital Signature… and choose the certificate you created earlier

  • Close the VBA window

  • Enable all macros in File ™ Options ™ Trust Center ™ Trust Center Settings ™ Trust Center Settings ™ Macro Settings

18
18
18
2016-02-02 12:58:33 +0000

AutoHotKeyはこれを解決するためにも使用することができます。このスクリプトは、フォーカスを盗むことなく、上にリマインダーウィンドウを配置します(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
}

AHKスクリプト - コンパイルされたEXE

13
13
13
2012-03-13 23:10:09 +0000

私が見つけた最良の答えはここにあります。いくつかの簡単なVBAを使用して再び他のウィンドウの前にポップアップするためにOutlookの予定のリマインダーを取得する方法](http://www.darthandy.com/2011/02/how-to-get-outlook-appointment.html)

それは、"ThisOutlookSession “に数行の簡単なVBAコードを追加する必要があります。これは、"ThisOutlookSession "に簡単なVBAコードの数行を追加する必要があります。これで、毎回ウィンドウがポップアップするようになりました。

  • 後でデジタル証明書を作成する
  • スタートを押して'certificate'と入力し、'Digital Certificate for VBA Projects'を選択する
  • 証明書の名前を入力する
  • 完了する
  • Outlookを開き、Alt + F11を押して、VBAエディタを起動する.
  • 左側のツリーでは、'Microsoft Office Outlook Objects'を展開し、'ThisOutlookSession'をダブルクリックする
  • このコードを貼り付け、あなたの好みに合うように引用符でテキストを変更する. 引用符のままにしておきます。

  • マクロに署名するので、それはツールに行くことによって実行されます > デジタル署名… と以前に作成した証明書を選択します

  • VBAウィンドウを閉じます。

7
7
7
2018-06-01 16:58:06 +0000

バージョン1803(2018年2月)より、「リマインダーを他のウィンドウの上に表示する」オプションが利用できるようになりました。デフォルトでは有効になっていないようです。

6
6
6
2015-02-03 19:29:07 +0000

上記のGulluさんの回答と同じですが、異なるウィンドウタイトルに対応するように変更しました。

6
6
6
2011-03-01 21:34:50 +0000

方法がありません。私たちの会社は、マイクロソフトに直接エスカレーションしようとしました。ここで人々が行う1つのことは、それに気づくのを助けるために、それをより不快な音に割り当てることです。しかし、マイクロソフトはそれは設計上のものだと言っています。

3
3
3
2011-12-21 00:26:04 +0000
3
3
3
2011-05-10 17:21:18 +0000

これは私も悩んでいました。いろいろ検索した結果、部分的な答えを見つけました。 http://www.pcreview.co.uk/forums/hidden-outlook-reminders-t3972914.html

「タスクバーとスタートメニューのプロパティ」の「タスクバーボタン」の設定を「結合しない」に変更すると、グループ化が分離され、他に開いているものの前にリマインダーがポップアップ表示されるようになります。どちらの場合もタスクバーにはOutlookとは異なるアイコンが表示されていたので、少なくとも私がそれに気づく可能性はありました。

1
1
1
2013-08-13 12:58:14 +0000

ShowReminders http://www.sagelamp.com/pages/showreminders.aspx )というアドインを見つけました。リマインダーウィンドウを最小化しても動作します。

0
0
0
2015-11-10 11:12:56 +0000

これはドイツ語版で動作する tboneさんの回答 の強化版です。

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 Declare PtrSafe Function BringWindowToTop Lib "user32" (ByVal hwnd As Long) As Boolean
Private Declare PtrSafe Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Boolean
Private Declare PtrSafe Function SetFocus Lib "user32" (ByVal hwnd 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 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 & " Erinnerung")
        SetWindowPos ReminderWindowHWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS
        BringWindowToTop (ReminderWindowHWnd)
        SetForegroundWindow ReminderWindowHWnd
        SetFocus ReminderWindowHWnd

        ReminderWindowHWnd = FindWindowA(vbNullString, iReminderCount & " Erinnerung(en)")
        SetWindowPos ReminderWindowHWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS
        BringWindowToTop ReminderWindowHWnd
        SetForegroundWindow ReminderWindowHWnd
        SetFocus ReminderWindowHWnd
    Next
Exit Sub
err:
    Debug.Print err.Number & " - " & err.Description & " (iReminderCount = " & iReminderCount & ")"
    Resume Next
End Sub

私はドイツ語のウィンドウタイトルといくつかの新しい機能を追加しました BringWindowToTop , SetForegroundWindow , SetFocus )。

新しい証明書を生成することはできませんでしたが(スタートボタンを押して “certificate "と入力しても何も出てきませんでした)、署名の際にリストから別の証明書を選択しただけでした。

0
0
0
2015-08-07 19:48:32 +0000

Outlook VBAと簡単なEXEを使った簡単な解決策を見つけました。

Outlookの会議の約束を二度と逃さない方法はこれです。さて、私はVBAに埋め込まれた大きな赤い箱を持っていたが、その解決策は問題に満ちていた (それは私が上に大きな赤い箱を維持するためにhwndと他の珍しいシステムプロパティを使用しなければならないためだと思う)。だから、物事をより簡単にするために、なぜ一つのことを行う基本的なEXEではありません。あなたは、Microsoft(Visual Studio Community 2015は無料です)から無料のツールを使用することができます。

これは、EXEコードです。このコードをコンパイルします。

Imports System.Timers
Public Class Form1
    Dim tTimer As New Timer
    Public Sub New()
        InitializeComponent()
        Me.StartPosition = Windows.Forms.FormStartPosition.CenterScreen
        Me.TopMost = True
        Me.TopLevel = True
    End Sub
    Private Sub Form1_DoubleClick(sender As Object, e As EventArgs) Handles Me.DoubleClick
        Application.Exit()
    End Sub 
    Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown
        flashingQuick()
    End Sub
    Sub flashingQuick()
        tTimer.Start()
        AddHandler tTimer.Elapsed, New ElapsedEventHandler(AddressOf TimerTick)
    End Sub
    Sub TimerTick(ByVal source As [Object], ByVal e As ElapsedEventArgs)
        Dim theTimer As System.Timers.Timer = DirectCast(source, System.Timers.Timer)
        theTimer.Interval = 500
        theTimer.Enabled = True
        If Me.BackColor = System.Drawing.SystemColors.Control Then
            Me.BackColor = Color.Red
        Else
            Me.BackColor = System.Drawing.SystemColors.Control
        End If
    End Sub
End Class

そしてこれだけでoutlook VBAで必要なものができました。ThisOutlookSessionにこれを入れて

Private Sub Application_Reminder(ByVal Item As Object)
    On Error Resume Next
    If Item.MessageClass <> "IPM.Appointment" Then
      Exit Sub
    End If
    Dim sAPPData As String
    Dim sFileName As String
    sAPPData = Environ("AppData")
    sFileName = "\Microsoft\Windows\Start Menu\Programs\BigRedBox\BigRedBox.exe"
    If Dir(sAPPData & sFileName) <> "" Then
        Call Shell(sAPPData & sFileName)
    End If
End Sub