none
Outlook VBAマクロがクラッシュ RRS feed

  • 質問

  • Kobaと申します。

    初めて質問させていただきます。

    Outlookにて、VBAで下記のコードを作りました。

    以前Win7 Office2010環境では問題なく動作していました。しかし環境が変わり、Win10 Office365のPC上である部分でクラッシュしOutlookがダウンしてしまうようになりました。

    回避方法ご存知の方いらっしゃいましたら、ご教示をいただきたいです。よろしくお願いします。


    この機能は、Outlook予定で「アラーム」が出ている予定をすべて取得して、その予定の名称と開始時刻、終了時刻を表示するものです。

    ※クラッシュが再現する最小のコードを記述しています。

    Sub test3()

            

        Dim objRem              As Reminder

        Dim objRems             As Reminders

            

        For Each objRem In objRems

            MsgBox objRem.Caption & "," & objRem.Item.Start & "," & objRem.Item.End

        Next objRem

    End Sub

    どうも、「ある条件」に該当する予定において、objRem.Item.Startを読み込む際にクラッシュしてしまうようです。

    「ある条件」は特定しきれていませんが、「定期的な予定」はこれに該当しないようです。

    ただ、下記コードに書き換えて、上記コードでクラッシュする予定を読み込んでも、クラッシュはしません。

        Set objRems = Application.Reminders

        Set objRem = objRems(4)'←数字は、前述のクラッシュを誘発する予定のインデックス

        MsgBox objRem.Caption & "," & objRem.Item.Start & "," & objRem.Item.End

    または

        MsgBox Application.Reminders(4).Item.start'←数字は、前述のクラッシュを誘発する予定のインデックス


    よろしくお願いします。

    2020年2月3日 1:47

回答

  • ではこれなら?↓

        For i = 1 To objRems.Count

            MsgBox objRems(i).Caption & "," & objRems(i).Item.Start & "," & objRems(i).Item.End

        Next

    • 回答としてマーク Koba0000 2020年2月3日 6:54
    2020年2月3日 2:18

すべての返信

  • ではこれなら?↓

        For i = 1 To objRems.Count

            MsgBox objRems(i).Caption & "," & objRems(i).Item.Start & "," & objRems(i).Item.End

        Next

    • 回答としてマーク Koba0000 2020年2月3日 6:54
    2020年2月3日 2:18
  • minmin312 様

    ありがとうございます!! 教えていただいたコードに書き換えたところ、問題なく動作しました。

    実際使っているコードに組み込んで、以前の機能がそのまま再現出来ました。

    早急にご助言下さり大変助かりました、ありがとうございました。

    2020年2月3日 6:51