『Outlookの予定削除』(ななし)
お世話になります。
chatgptでOutlookの指定した日付の予定を削除するコードを取得したんですが、必ず予定が残ってしまいます。(複数回実行すれば消えるんですが、1回で削除できません。)
OutlookVBAは詳しくなく、コードの検証もどこから手を付けていいのか分からない状態です。
よろしくお願いします。
Sub Macro1()
Dim olApp As Object Dim olNamespace As Object Dim olCalendar As Object Dim olItem As Object Dim targetDate As Date Dim startDate As Date Dim endDate As Date
' Outlookアプリケーションのオブジェクトを取得 Set olApp = CreateObject("Outlook.Application") Set olNamespace = olApp.GetNamespace("MAPI") Set olCalendar = olNamespace.GetDefaultFolder(9)
' 削除対象の日付を設定(例:2025年6月5日) targetDate = DateSerial(2025, 6, 5) startDate = targetDate & " 00:00:00" endDate = targetDate & " 23:59:59"
' カレンダーアイテムをループして削除 For Each olItem In olCalendar.Items If olItem.Start >= startDate And olItem.Start <= endDate Then olItem.Delete End If Next olItem
End Sub
< 使用 Excel:Excel2021、使用 OS:Windows11 >
indexをつかい
Each ではなくループカウンタで最後から最初へステップダウンして
消すとうまく行くかもしれません
(*^^*)
<< _ _ >>
(隠居Z) 2025/06/12(木) 15:51:55
For Each olItem In olCalendar.Items If olItem.Start >= startDate And olItem.Start <= endDate Then olItem.Delete End If Next olItem
↑を ↓に 変える Dim i& For i = olCalendar.Items.Count To 1 Step -1 If olItem.Start >= startDate And olItem.Start <= endDate Then olCalendar.Items(i).Delete End If Next
と
どうなるでせう
(隠居Z) 2025/06/13(金) 08:57:35
olItemセットしなくて大丈夫ですか?>隠居Zさん
かぶりましたが、わたしも作ってみました。
結局、隠居Zさんのおっしゃる通り、上から削除したのが問題のようですね。
Sub Macro1()
Dim olApp As Object Dim olNamespace As Object Dim olCalendar As Object Dim olItem As Object Dim targetDate As Date Dim startDate As Date Dim endDate As Date Dim i As Long
' Outlookアプリケーションのオブジェクトを取得 Set olApp = CreateObject("Outlook.Application") Set olNamespace = olApp.GetNamespace("MAPI") Set olCalendar = olNamespace.GetDefaultFolder(9)
' 削除対象の日付を設定(例:2025年6月5日) targetDate = DateSerial(2025, 6, 5) startDate = targetDate & " 00:00:00" endDate = targetDate & " 23:59:59"
' カレンダーアイテムをループして削除 For i = olCalendar.Items.Count To 1 Step -1 Set olItem = olCalendar.Items(i) If olItem.Start >= startDate And olItem.Start <= endDate Then olItem.Delete End If Next i
End Sub (ゆたか) 2025/06/13(金) 09:54:55
olItemセットしなくて大丈夫ですか?>隠居Zさん ゆたか さんへ ありがとうございます。(*^^*) 直接指定でもきえてくださいましたです。。。けど。。。あまり自信は有りません^^; 何か不都合が含まれておりましたら教えて戴けると幸いです。 m(__)mm(__)mm(__)m (隠居Z) 2025/06/13(金) 10:47:21
ありがとうございます
無事削除できました!
下から削除するのは行削除だと当たり前ですが今回は全く思い当たらなかったです。
非常に助かりました。
重ね重ねお礼申し上げます。
(ななし) 2025/06/13(金) 15:24:57
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.